home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1994 March / Internet Info CD-ROM (Walnut Creek) (March 1994).iso / inet / internet-drafts / draft-ietf-mhsds-routdirectory-03.txt < prev    next >
Text File  |  1993-07-19  |  117KB  |  3,493 lines

  1.  
  2.  
  3.  
  4. Network Working                                             S.E. Kille
  5. Group                                                 ISODE Consortium
  6. INTERNET-DRAFT                                               July 1993
  7.                                                 Expires:  January 1994
  8.  
  9.  
  10.  
  11.  
  12.              MHS use of Directory to support MHS Routing
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19. Status of this Memo
  20.  
  21. This document is an Internet Draft.  Internet Drafts are working
  22. documents of the Internet Engineering Task Force (IETF), its Areas,
  23. and its Working Groups.  Note that other groups may also distribute
  24. working documents as Internet Drafts.
  25. Internet Drafts are draft documents valid for a maximum of six months.
  26. Internet Drafts may be updated, replaced, or obsoleted by other
  27. documents at any time.  It is not appropriate to use Internet Drafts
  28. as reference material or to cite them other than as a ``working
  29. draft'' or ``work in progress.''
  30. Please check the I-D abstract listing contained in each Internet Draft
  31. directory to learn the current status of this or any other Internet
  32. Draft.
  33.  
  34. Abstract
  35. This document specifies an approach for X.400 Message Handling Systems
  36. to perform application level routing using the OSI Directory [16, 1].
  37. Use of the directory in this manner is fundamental to enabling large
  38. scale deployment of X.400.
  39. This draft document will be submitted to the RFC editor as a protocol
  40. standard.  Distribution of this memo is unlimited.  Please send
  41. comments to the author or to the discussion group
  42. <mhs-ds@mercury.udev.cdc.com>.
  43.  
  44.  
  45.  
  46.  
  47. INTERNET--DRAFT          MHS Routing using Directory         July 1993
  48.  
  49.  
  50. Contents
  51.  
  52. 1   Introduction                                                     6
  53.  
  54. 2   Work to be done                                                  6
  55.  
  56.  
  57. 3   Goals                                                            7
  58.  
  59. 4   Approach                                                         9
  60.  
  61.  
  62. 5   Direct vs Indirect Connection                                   10
  63.  
  64. 6   X.400 and RFC 822                                               13
  65.  
  66. 7   Objects                                                         13
  67.  
  68.  
  69. 8   Communities                                                     15
  70.  
  71. 9   Routing Trees                                                   16
  72.  
  73.     9.1    Routing Tree Definition   .   .   .   .   .   .   .      17
  74.     9.2    The Open Community Routing Tree   .   .   .   .   .      17
  75.     9.3    Routing Tree Location     .   .   .   .   .   .   .      18
  76.  
  77.     9.4    Example Routing Trees     .   .   .   .   .   .   .      18
  78.     9.5    Use of Routing Trees to look up Information   .   .      19
  79.  
  80. 10  Routing Tree Selection                                          19
  81.  
  82.     10.1   Routing Tree Order    .   .   .   .   .   .   .   .      20
  83.     10.2   Example use of Routing Trees  .   .   .   .   .   .      21
  84.         10.2.1   Fully Open Organisation     .   .   .   .   .      21
  85.  
  86.         10.2.2   Open Organisation with Fallback     .   .   .      21
  87.         10.2.3   Minimal-routing MTA     .   .   .   .   .   .      21
  88.         10.2.4   Organisation with Firewall  .   .   .   .   .      21
  89.  
  90.         10.2.5   Well Known Entry Points     .   .   .   .   .      22
  91.         10.2.6   ADMD using the Open Community for Advertising      22
  92.  
  93.         10.2.7   ADMD/PRMD gateway   .   .   .   .   .   .   .      22
  94.  
  95. Kille                                  Expires:  January 1994   Page 1
  96.  
  97.  
  98.  
  99.  
  100. INTERNET--DRAFT          MHS Routing using Directory         July 1993
  101.  
  102.  
  103. 11  Routing Information                                             23
  104.     11.1   MTA Choice    .   .   .   .   .   .   .   .   .   .      27
  105.     11.2   Routing Filters   .   .   .   .   .   .   .   .   .      30
  106.  
  107.     11.3   Indirect Connectivity     .   .   .   .   .   .   .      31
  108.  
  109. 12  Local Addresses (UAs)                                           32
  110.     12.1   Searching for Local Users     .   .   .   .   .   .      35
  111.  
  112.  
  113. 13  Direct Lookup                                                   35
  114.  
  115. 14  Alternate Routes                                                35
  116.  
  117.     14.1   Finding Alternate Routes  .   .   .   .   .   .   .      35
  118.     14.2   Sharing routing information   .   .   .   .   .   .      36
  119.  
  120. 15  Looking up Information in the Directory                         36
  121.  
  122.  
  123. 16  Naming MTAs                                                     38
  124.     16.1   Naming 1984 MTAs  .   .   .   .   .   .   .   .   .      40
  125.  
  126.  
  127. 17  Attributes Associated with the MTA                              40
  128.  
  129. 18  Bilateral Agreements                                            40
  130.  
  131. 19  MTA Selection                                                   42
  132.  
  133.     19.1   Dealing with protocol mismatches  .   .   .   .   .      42
  134.     19.2   Supported Protocols   .   .   .   .   .   .   .   .      42
  135.     19.3   MTA Capability Restrictions   .   .   .   .   .   .      43
  136.  
  137.     19.4   Subtree Capability Restrictions   .   .   .   .   .      43
  138.  
  139. 20  MTA Pulling Messages                                            44
  140.  
  141. 21  Security and Policy                                             45
  142.  
  143.     21.1   Finding the Name of the Calling MTA   .   .   .   .      45
  144.     21.2   Authentication    .   .   .   .   .   .   .   .   .      46
  145.  
  146.     21.3   Authentication Information    .   .   .   .   .   .      48
  147.  
  148. Kille                                  Expires:  January 1994   Page 2
  149.  
  150.  
  151.  
  152.  
  153. INTERNET--DRAFT          MHS Routing using Directory         July 1993
  154.  
  155.  
  156. 22  Policy and Authorisation                                        50
  157.     22.1   Simple MTA Policy     .   .   .   .   .   .   .   .      50
  158.     22.2   Complex MTA Policy    .   .   .   .   .   .   .   .      51
  159.  
  160.  
  161. 23  Redirects                                                       52
  162.  
  163. 24  Underspecified O/R Addresses                                    53
  164.  
  165.  
  166. 25  Non Delivery                                                    54
  167.  
  168. 26  Bad Addresses                                                   54
  169.  
  170. 27  Submission                                                      56
  171.  
  172.     27.1   Normal Derivation     .   .   .   .   .   .   .   .      56
  173.     27.2   Roles and Groups  .   .   .   .   .   .   .   .   .      56
  174.  
  175. 28  Access Units                                                    56
  176.  
  177.  
  178. 29  The Overall Routing Algorithm                                   57
  179.     29.1   X.400 Routing     .   .   .   .   .   .   .   .   .      58
  180.  
  181.     29.2   Pseudo Code   .   .   .   .   .   .   .   .   .   .      59
  182.     29.3   Examples  .   .   .   .   .   .   .   .   .   .   .      59
  183.  
  184. 30  Performance                                                     59
  185.  
  186.  
  187. 31  Acknowledgements                                                59
  188.  
  189. 32  Security Considerations                                         61
  190.  
  191. 33  Author's Address                                                61
  192.  
  193.  
  194. A   Object Identifier Assignment                                    62
  195.  
  196. B   Community Identifier Assignments                                64
  197.  
  198.  
  199. C   Protocol Identifier Assignments                                 65
  200.  
  201. Kille                                  Expires:  January 1994   Page 3
  202.  
  203.  
  204.  
  205.  
  206. INTERNET--DRAFT          MHS Routing using Directory         July 1993
  207.  
  208.  
  209. D   ASN.1 Summary                                                   65
  210.  
  211. E   Regular Expression Syntax                                       65
  212.  
  213. F   X.402 Definitions                                               65
  214.  
  215.  
  216.  
  217.  
  218.  
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226.  
  227.  
  228.  
  229.  
  230.  
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  
  244.  
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254. Kille                                  Expires:  January 1994   Page 4
  255.  
  256.  
  257.  
  258.  
  259. INTERNET--DRAFT          MHS Routing using Directory         July 1993
  260.  
  261.  
  262. List of Figures
  263.  
  264.     1      Location of Routing Trees     .   .   .   .   .   .      18
  265.     2      Routing Tree Use Definition   .   .   .   .   .   .      20
  266.  
  267.     3      Routing Information at a Node     .   .   .   .   .      24
  268.     4      Indirect Access   .   .   .   .   .   .   .   .   .      31
  269.     5      UA Attributes     .   .   .   .   .   .   .   .   .      32
  270.  
  271.     6      MTA Definitions   .   .   .   .   .   .   .   .   .      39
  272.     7      MTA Bilateral Table Entry     .   .   .   .   .   .      41
  273.  
  274.     8      Transport Community Definition    .   .   .   .   .      42
  275.     9      Subtree Capability Restriction    .   .   .   .   .      44
  276.     10     Pulling Messages  .   .   .   .   .   .   .   .   .      45
  277.  
  278.     11     Authentication Requirements   .   .   .   .   .   .      47
  279.     12     MTA Authentication Parameters     .   .   .   .   .      49
  280.     13     Simple MTA Policy Specification   .   .   .   .   .      51
  281.  
  282.     14     Redirect Definition   .   .   .   .   .   .   .   .      53
  283.     15     Non Delivery Information  .   .   .   .   .   .   .      54
  284.     16     Bad Address Pointers  .   .   .   .   .   .   .   .      55
  285.  
  286.     17     Access Unit Attributes    .   .   .   .   .   .   .      57
  287.     18     Object Identifier Assignment  .   .   .   .   .   .      63
  288.     19     Transport Community Object Identifier Assignments        64
  289.  
  290.     20     Protocol Object Identifier Assignments    .   .   .      65
  291.  
  292.  
  293. List of Tables
  294.  
  295.     1      Possible target end to end delays     .   .   .   .       8
  296.  
  297.  
  298.  
  299.  
  300.  
  301.  
  302.  
  303.  
  304.  
  305.  
  306.  
  307. Kille                                  Expires:  January 1994   Page 5
  308.  
  309.  
  310.  
  311.  
  312. INTERNET--DRAFT          MHS Routing using Directory         July 1993
  313.  
  314.  
  315. 1  Introduction
  316.  
  317. MHS Routing is the problem of controlling the path of a message as it
  318. traverses one or more MTAs to reach its destination recipients.
  319. Routing starts with a recipient O/R Address, and parameters associated
  320. with the message to be routed.  It is assumed that this is known a
  321. priori, or is derived at submission time as described in Section 27.
  322.  
  323. The key problem in routing is to map from an O/R Address onto an MTA
  324. (next hop).  This should be an MTA which in some sense is ``nearer''
  325. to the destination UA. This is done repeatedly until the message can
  326. be directly delivered to the recipient UA. There are a number of
  327. things which need to be considered to determine this.  These are
  328. discussed in the subsequent sections.  A description of the overall
  329. routing process is given in Section 29.
  330.  
  331.  
  332. 2  Work to be done
  333.  
  334. This section notes things which still need to be done to this
  335. document, and also to other documents in the series.  This includes:
  336.  
  337. 1.  Formalising ASN.1:  defining modules and variable imports.  (all
  338.     documents)
  339.  
  340. 2.  Provide pseudo-code to describe the algorithm more clearly
  341.  
  342. 3.  Write a general note on MHS Use of Directory, summarising what is
  343.     already defined in X.402, and showing how this work relates to it.
  344.  
  345. 4.  More examples
  346.  
  347. 5.  Notes on performance
  348.  
  349. 6.  Acknowledgements
  350.  
  351. 7.  Add appendix on regex
  352.  
  353. 8.  List of attributes which affect routing
  354.  
  355. 9.  Chase through note to ensure Application Process / Application
  356.     Entity
  357.  
  358.  
  359.  
  360. Kille                                  Expires:  January 1994   Page 6
  361.  
  362.  
  363.  
  364.  
  365. INTERNET--DRAFT          MHS Routing using Directory         July 1993
  366.  
  367.  
  368. 10. Various minor changes marked with *** or as editor's notes
  369.     throughout the document
  370.  
  371. 11. Some restructure to improve overall clarity of document.
  372.     Sections 18-22 will be the major targets.
  373.  
  374.  
  375. 3  Goals
  376.  
  377. Application level routing for MHS is a complex procedure, with many
  378. requirements.  The following goals for the solution are set:
  379.  
  380.  
  381.  o  Straightforward to manage.  Non-trivial configuration of routing
  382.     for current message handling systems is a black art, often
  383.     involving gathering and processing many tables, and editing
  384.     complex configuration files.  Many problems are solved in a very
  385.     ad hoc manner.  Managing routing for MHS is the most serious
  386.     headache for most mail system managers.
  387.  
  388.  o  Economic, both in terms of network and computational resources.
  389.  
  390.  o  Robust.  Errors and out of date information should cause minimal
  391.     and local damage.
  392.  
  393.  o  Deal with link failures.  There should be some ability to choose
  394.     alternative routes.  In general, the routing approach should be
  395.     redundant.
  396.  
  397.  o  Load sharing.  Information on routes should allow ``equal'' routes
  398.     to be specified, and thus facilitate load sharing.
  399.  
  400.  o  Support format and protocol conversion
  401.  
  402.  o  Dynamic and automatic.  There should be no need for manual
  403.     propagation of tables or administrator intervention.
  404.  
  405.  o  Policy robust.  It should not allow specification of policies
  406.     which cause undesirable routing effects.
  407.  
  408.  o  Reasonably straightforward to implement.
  409.  
  410.  o  Deal with X.400, RFC 822, and their interaction.
  411.  
  412.  
  413. Kille                                  Expires:  January 1994   Page 7
  414.  
  415.  
  416.  
  417.  
  418. INTERNET--DRAFT          MHS Routing using Directory         July 1993
  419.  
  420. _____________________________________________________________
  421. |______________|High_Priority_|Normal_Priority_|Low_Priority_|_
  422. |50%_max_delay_|0.5_hour______|1_hour__________|12_hours_____|
  423. |98%_max_delay_|3_hours_______|12_hours________|24_hours_____|
  424. |max_delay_____|6_hours_______|72_hours________|96_hours_____|
  425.  
  426.              Table 1:  Possible target end to end delays
  427.  
  428.  o  Extensible to other mail architectures
  429.  
  430.  o  Recognise existing RFC 822 routing, and coexist smoothly.
  431.  
  432.  o  Improve RFC 822 routing capabilities.  This is particularly
  433.     important for RFC 822 sites not in the SMTP Internet.
  434.  
  435.  o  Deal correctly with different X.400 protocols (P1, P3, P7), and
  436.     with 1984 and 1988 versions.
  437.  
  438.  o  Support X.400 operation over multiple protocol stacks (TCP/IP,
  439.     CONS, CLNS) and in different communities.
  440.  
  441.  o  Messages should be routed consistently.  Alternate routing
  442.     strategies, which might introduce unexpected delay, should be used
  443.     with care (e.g.  routing through a protocol converter due to
  444.     unavailability of an X.400 MTA).
  445.  
  446.  o  Delay between message submission and delivery should be minimised.
  447.     Table 1 indicates the sort of target which might be aimed for.
  448.     The figures are illustrative of the sort of target which might be
  449.     set.  They are better than achieved in most current Research
  450.     Networks.  They are larger that the CEN/Cenelec figures, which
  451.     were probably written by someone who has never run an MHS Network.
  452.     The long tail-offs on Normal and Low priority recognise the fact
  453.     that some end systems will not get 24 hour operator coverage
  454.     (whereas any MTAs providing ADMD service should).  In the case of
  455.     a high priority message, a non-delivery notification should be
  456.     returned within the suggested time.
  457.  
  458.  o  Interact sensibly with ADMD services provided by PTTs or RPOAs.
  459.  
  460.  o  Be global in scope
  461.  
  462.  
  463.  
  464.  
  465.  
  466. Kille                                  Expires:  January 1994   Page 8
  467.  
  468.  
  469.  
  470.  
  471. INTERNET--DRAFT          MHS Routing using Directory         July 1993
  472.  
  473.  
  474.  o  Routing strategy should deal with a scale of order of magnitude
  475.     106 -- 108 MTAs.
  476.  
  477.  o  Routing strategy should deal with of order 106 -- 108
  478.     Organisations.
  479.  
  480.  o  Information about alterations in topology should propagate rapidly
  481.     to sites affected by the change.
  482.  
  483.  o  Removal, examination, or destruction of messages by third parties
  484.     should be difficult.  This is hard to quantify, but ``difficult''
  485.     should be comparable to the effort needed to break system security
  486.     on a typical MTA system.
  487.  
  488.  o  As with current Research Networks, it should be recognised that
  489.     prevention of forged mail will not always be possible.  However,
  490.     this should be as hard as can be afforded.
  491.  
  492.  o  Sufficient tracing and logging should be available to track down
  493.     security violations and faults.
  494.  
  495.  o  Optimisation of routing messages with multiple recipients, in
  496.     cases where this involves selection of preferred single recipient
  497.     routes.
  498.  
  499. The following are not initial goals:
  500.  
  501.  
  502.  o  Advanced optimisation of routing messages with multiple
  503.     recipients, noting dependencies between the recipients to find
  504.     routes which would not have been chosen for any of the single
  505.     recipients.
  506.  
  507.  o  Dynamic load balancing.  The approach does not give a means to
  508.     determine load.  However, information on alternate routes is
  509.     provided, which is the static information needed for load
  510.     balancing.
  511.  
  512.  
  513. 4  Approach
  514.  
  515. A broad problem statement, and a survey of earlier approaches to the
  516. problem is given in the COSINE Study on MHS Topology and Routing [8].
  517.  
  518.  
  519. Kille                                  Expires:  January 1994   Page 9
  520.  
  521.  
  522.  
  523.  
  524. INTERNET--DRAFT          MHS Routing using Directory         July 1993
  525.  
  526.  
  527. The interim (table-based) approach suggested in this study, whilst not
  528. being followed in detail, broadly reflects what the MHS community is
  529. doing.  The evolving specification of the RARE table format is defined
  530. in [5].  This document specifies the envisaged longer term approach.
  531. Although this work is important and needed now, there is a coherent
  532. interim approach, and this work should not be rushed.
  533. Some documents have made useful contributions to this work:
  534.  
  535.  o  My paper on MHS use of directory, which laid out the broad
  536.     approach of mapping the O/R Address space on to the DIT [7].
  537.  
  538.  o  The current OSI Standardisation work on MHS use of Directory for
  539.     routing.  The concept of Routing Entity is a useful one [17].
  540.  
  541.  o  The work of the VERDI Project [3].
  542.  
  543.  o  Work by Kevin Jordan of CDC [6].
  544.  
  545.  o  The routing approach of ACSNet [4, 15] paper.  This gives useful
  546.     ideas on incremental routing, and replicating routing data.
  547.  
  548.  o  A lot of work on network routing is becoming increasingly
  549.     relevant.  As the MHS routing problem increases in size, and
  550.     network routing increases in sophistication (e.g., policy based
  551.     routing), the two areas have increasing amounts in common.  For
  552.     example, see [2].
  553.  
  554.  
  555. 5  Direct vs Indirect Connection
  556.  
  557.  
  558. Two extreme approaches to routing connectivity are:
  559.  
  560. 1.  High connectivity between MTAs.  An example of this is the way the
  561.     Domain Name Server system is used on the DARPA/NSF Internet.
  562.     Essentially, all MTAs are fully interconnected.
  563.  
  564. 2.  Low connectivity between MTAs.  An example of this is the UUCP
  565.     network.
  566.  
  567.  
  568. In general an intermediate approach is desirable.  Too sparse a
  569. connectivity is inefficient, and leads to undue delays.  However, full
  570. connectivity is not desirable, for the reasons discussed below.
  571.  
  572. Kille                                 Expires:  January 1994   Page 10
  573.  
  574.  
  575.  
  576.  
  577. INTERNET--DRAFT          MHS Routing using Directory         July 1993
  578.  
  579.  
  580. A number of general issues related to relaying are now considered.
  581. The reasons for avoiding relaying are clear.  These include.
  582.  
  583.  o  Efficiency.  If there is an open network, it should be used.
  584.  
  585.  o  Extra hops introduce delay, and increase the (very small)
  586.     possibility of message loss.  As a basic principle, hop count
  587.     should be minimised.
  588.  
  589.  o  Busy relays or Well Known Entry points can introduce high delay
  590.     and lead to single point of failure.
  591.  
  592.  o  If there is only one hop, it is straightforward for the user to
  593.     monitor progress of messages submitted.  If a message is delayed,
  594.     the user can take appropriate action.
  595.  
  596.  o  Many users like the security of direct transmission.  It is an
  597.     argument often given very strongly for use of SMTP.
  598.  
  599.  
  600. Despite these very powerful arguments, there are a number of reasons
  601. why some level of relaying is desirable:
  602.  
  603.  o  Charge optimisation.  If there is an expensive network/link to be
  604.     traversed, it may make sense to restrict its usage to a small
  605.     number of MTAs.  This would allow for optimisation with respect to
  606.     the charging policy of this link.
  607.  
  608.  o  Copy optimisation.  If a message is being sent to two remote MTAs
  609.     which are close together, it is usually optimal to send the
  610.     message to one of the MTAs (for both recipients), and let it pass
  611.     a copy to the other MTA.
  612.  
  613.  o  To access an intermediate MTA for some value added service.  In
  614.     particular for:
  615.  
  616.     --  Message Format Conversion
  617.  
  618.     --  Distribution List expansion
  619.  
  620.  
  621.  o  Dealing with different protocols.  The store and forward approach
  622.     allows for straightforward conversion.  Relevant cases include:
  623.  
  624.  
  625. Kille                                 Expires:  January 1994   Page 11
  626.  
  627.  
  628.  
  629.  
  630. INTERNET--DRAFT          MHS Routing using Directory         July 1993
  631.  
  632.  
  633.     --  Provision of X.400 over different OSI Stacks (e.g.
  634.         Connectionless Network Service).
  635.  
  636.     --  Use of a different version of X.400.
  637.  
  638.     --  Interaction with non-X.400 mail services
  639.  
  640.  o  To compensate for inadequate directory services:  If tables are
  641.     maintained in an ad hoc manner, the manual effort to gain full
  642.     connectivity is too high.
  643.  
  644.  o  To hide complexity of structure.  If an organisation has many
  645.     MTAs, it may still be advantageous to advertise a single entry
  646.     point to the outside world.  It will be more efficient to have an
  647.     extra hop, than to (widely) distribute the information required to
  648.     connect directly.  This will also encourage stability, as
  649.     organisations need to change internal structure much more
  650.     frequently than their external entry points.  For many
  651.     organisations, establishing such firewalls is high priority.
  652.  
  653.  o  To handle authorisation, charging and security issues.  In
  654.     general, it is desirable to deal with user oriented authorisation
  655.     at the application level.  This is essential when MHS specific
  656.     parameters must be taken into consideration.  It may well be
  657.     beneficial for organisations to have a single MTA providing access
  658.     to the external world, which can apply a uniform access policy
  659.     (e.g.  as to which people are allowed access).  This would be
  660.     particularly true in a multi-vendor environment, where different
  661.     systems would otherwise have to enforce the same policy --- using
  662.     different vendor-specific mechanisms.
  663.  
  664. In summary there are strong reasons for an intermediate approach.
  665. This will be achieved by providing mechanisms for both direct and
  666. indirect connectivity.  The manager of a configuration will then be
  667. able to make appropriate choices for the environment.
  668.  
  669. Two models of managing large scale routing have evolved:
  670.  
  671. 1.  Use of a global directory/database.  This is the approach proposed
  672.     here.
  673.  
  674. 2.  Use of a routing table in each MTA, which is managed either by a
  675.     management protocol or by directory.  This is coupled with means
  676.  
  677.  
  678. Kille                                 Expires:  January 1994   Page 12
  679.  
  680.  
  681.  
  682.  
  683. INTERNET--DRAFT          MHS Routing using Directory         July 1993
  684.  
  685.  
  686.     to exchange routing information between MTAs.  This approach is
  687.     more analogous to how network level routing is commonly performed.
  688.     It has good characteristics in terms of managing links and dealing
  689.     with link related policy.  However, it assumes limited
  690.     connectivity and does not adapt well to a network environment with
  691.     high connectivity available.
  692.  
  693.  
  694. 6  X.400 and RFC 822
  695.  
  696. This document defines mechanisms for X.400 routing.  It is important
  697. that this can be integrated with RFC 822 base routing, as many MTAs
  698. will work in both communities.  This routing document is written with
  699. this problem in mind, and support for RFC 822 routing using the same
  700. basic infrastructure is defined in a companion document [13].  In
  701. addition support for X.400/RFC 822 gatewaying is needed, to support
  702. interaction.  Directory based mechanisms for this are defined in [12].
  703. The advantages of the approach defined by this set of specifications
  704. are:
  705.  
  706.  
  707.  o  Uniform management for sites which wish to support both protocols.
  708.  
  709.  o  Simpler management for gateways.
  710.  
  711.  o  Improved routing services for RFC 822 only sites.
  712.  
  713. For sites which are only X.400 or only RFC 822, the mechanisms
  714. associated with gatewaying or with the other form of addressing are
  715. not needed.
  716.  
  717.  
  718. 7  Objects
  719.  
  720. It is useful to start with a manager's perspective.  Here is the set
  721. of object classes used in this specification.  It is important that
  722. all information entered relates to something which is being managed.
  723. If this is achieved, configuration decisions are much more likely to
  724. be correct.  In the examples, distinguished names are written using
  725. the String Syntax for Distinguished Names [10].  The list of objects
  726. used in this specification is:
  727.  
  728.  
  729.  
  730.  
  731. Kille                                 Expires:  January 1994   Page 13
  732.  
  733.  
  734.  
  735.  
  736. INTERNET--DRAFT          MHS Routing using Directory         July 1993
  737.  
  738.  
  739. User An entry representing a single human user.  This will typically
  740.     be named in an organisational context.  For example:
  741.  
  742.     CN=Steve Kille, OU=Computer Science,
  743.     O=University College London, C=GB
  744.  
  745.     This entry would have associated information, such as telephone
  746.     number, postal address, and mailbox.
  747.  
  748. MTA A Message Transfer Agent.  In general, the binding between
  749.     machines and MTAs will be complex.  Often a small number of MTAs
  750.     will be used to support many machines, by use of local approaches
  751.     such as NFS. MTAs may support multiple protocols, and will
  752.     identify addressing information for each protocol.
  753.     To achieve support for multiple protocols, an MTA is modelled as
  754.     an Application Process, which is named in the directory.  Each MTA
  755.     will have one or more associated Application Entities.  Each
  756.     Application Entity is named as a child of the Application Process,
  757.     using a common name which conveniently identifies the Application
  758.     Entity relative to the Application Process.  Each Application
  759.     Entity supports a single protocol, although different Application
  760.     Entities may support the same protocol.  Where an MTA only
  761.     supports one protocol or where the addressing information for all
  762.     of the protocols supported have different attributes to represent
  763.     addressing information (e.g., P1(88) and SMTP) the Application
  764.     Entity(ies) may be represented by the single Application Process
  765.     entry.
  766.  
  767. User Agent (Mailbox) This defines the User Agent (UA) to which mail
  768.     may be delivered.  This will define the account with which the UA
  769.     is associated, and may also point to the user(s) associated with
  770.     the UA. It will identify which MTAs1 are able to access the UA.
  771.  
  772. Role Some organisational function.  For example:
  773.  
  774.     CN=System Manager, OU=Computer Science,
  775.     O=University College London, C=GB
  776.  
  777. ----------------------------
  778.     1. In the formal X.400 model, there will be a single MTA
  779. delivering to a UA. In many practical configurations, multiple MTAs
  780. can deliver to a single UA. This will increase robustness, and is
  781. desirable.
  782.  
  783.  
  784. Kille                                 Expires:  January 1994   Page 14
  785.  
  786.  
  787.  
  788.  
  789. INTERNET--DRAFT          MHS Routing using Directory         July 1993
  790.  
  791.  
  792.     The associated entry would indicate the occupant of the role.
  793.  
  794. Distribution Lists There would be an entry representing the
  795.     distribution list, with information about the list, the manger,
  796.     and members of the list.
  797.  
  798.  
  799. 8  Communities
  800.  
  801. There are two basic types of agreement in which an MTA may participate
  802. in order to facilitate routing:
  803.  
  804.  
  805. Open Agreements An agreement between a collection of MTAs to behave
  806.     in a cooperative fashion to route traffic.  This may be viewed as
  807.     a general bilateral agreement.
  808.  
  809. Bilateral Agreements An agreement between a pair of MTAs to route
  810.     certain types of traffic.  This MTA pair agreement usually
  811.     reflects a higher level agreement.  It is an important special
  812.     case of the first, as bilateral information must be held for the
  813.     link at both ends.  In some cases, this information must be
  814.     private.
  815.  
  816. It is important to ensure that there are sufficient agreements in
  817. place for all messages to be routed.  This will usually be done by
  818. having agreements which correspond to the addressing hierarchy.  For
  819. X.400, this is the model where a PRMD connects to an ADMD, and the
  820. ADMD provides the inter PRMD connectivity, by the ability to route to
  821. all other ADMDs.  Other agreements may be added to this hierarchy, in
  822. order to improve the efficiency of routing.  In general, there may be
  823. valid addresses, which cannot be routed to, either for connectivity or
  824. policy reasons.
  825. We model these two types of agreements as communities.  A community is
  826. a scope in which an MTA advertises its services and learns about other
  827. services.  Each MTA will:
  828.  
  829.  
  830. 1.  Register its services in one or more communities.
  831.  
  832. 2.  Look up services in one or more communities.
  833.  
  834.  
  835.  
  836.  
  837. Kille                                 Expires:  January 1994   Page 15
  838.  
  839.  
  840.  
  841.  
  842. INTERNET--DRAFT          MHS Routing using Directory         July 1993
  843.  
  844.  
  845. In most cases an MTA will deal with a very small number of communities
  846. --- very often one only.  There are a number of different types of
  847. community.
  848.  
  849. The open community This is a public/global scope.  It reflects
  850.     routing information which is made available to any MTA which
  851.     wishes to use it.
  852.  
  853. The local community This is the scope of a single MTA. It reflects
  854.     routing information private to the MTA. It will contain an MTA's
  855.     view of the set of bilateral agreements in which it participates,
  856.     and routing information private and local to the MTA.
  857.  
  858. Hierarchical communities A hierarchical community is a subtree of the
  859.     O/R Address tree.  For example, it might be a management domain,
  860.     an organisation, or an organisational unit.  This sort of
  861.     community will allow for firewalls to be established.  A community
  862.     can have complex internal structure, and register a small subset
  863.     of that in the open community.
  864.  
  865. Closed communities A closed community is a set of MTAs which agrees
  866.     to route amongst themselves.  Examples of this might be ADMDs
  867.     within a country, or a set of PRMDs representing the same
  868.     organisation in multiple countries.
  869.  
  870.  
  871. Formally, a community indicates the scope over which a service is
  872. advertised.  In practice, it will tend to reflect the scope of
  873. services offered.  It does not make sense to offer a public service,
  874. and only advertise it locally.  Public advertising of a private
  875. service makes more sense, and this is shown below.  In general, having
  876. a community offer services corresponding to the scope in which they
  877. are advertised will lead to routing efficiency.  Examples of how
  878. communities can be used to implement a range of routing policies are
  879. given in Section 10.2.
  880.  
  881.  
  882. 9  Routing Trees
  883.  
  884. Communities are a useful abstract definition of the routing approach
  885. taken by this specification.  Each community is represented in the
  886. directory as a routing tree.  There will be many routing trees
  887. instantiated in the directory.  Typically, an MTA will only be
  888.  
  889.  
  890. Kille                                 Expires:  January 1994   Page 16
  891.  
  892.  
  893.  
  894.  
  895. INTERNET--DRAFT          MHS Routing using Directory         July 1993
  896.  
  897.  
  898. registered in and make use of a small number of routing trees.  In
  899. most cases, it will register in and use the same set of routing trees.
  900.  
  901. 9.1  Routing Tree Definition
  902.  
  903.  
  904. Each community has a model of the O/R address space.  Within a
  905. community, there is a general model of what to do with a given O/R
  906. Address.  This is structured hierarchically, according to the O/R
  907. address hierarchy.  A community can register different possible
  908. actions, depending on the depth of match.  This might include
  909. identifying the MTA associated with a UA which is matched fully, and
  910. providing a default route for an O/R address where there is no match
  911. in the community --- and all intermediate forms.
  912. The name structure of a routing tree follows the O/R address
  913. hierarchy, which is specified in a separate document [11].  Where
  914. there is any routing action associated with a node in a routing tree,
  915. the node is of object class routingInformation, as defined in
  916. Section 11.
  917.  
  918. 9.2  The Open Community Routing Tree
  919.  
  920.  
  921. The routing tree of the open community starts at the root of the DIT.
  922. This routing tree also serves the special function of instantiating
  923. the global O/R Address space in the Directory.  Thus, if a UA wishes
  924. to publish information to the world, this hierarchy allows it to do
  925. so.
  926. The O/R Address hierarchy is a registered tree, which may be
  927. instantiated in the directory.  Names at all points in the tree are
  928. valid, and there is no requirement that the namespace is instantiated
  929. by the owner of the name.  For example, a PRMD may make an entry in
  930. the DIT, even if the ADMD above it does not.  In this case, there will
  931. be a ``skeletal'' entry for the ADMD, which is used to hang the PRMD
  932. entry in place.  The skeletal entry contains the minimum number of
  933. entries which are needed for it to exist in the DIT (Object Class and
  934. Attribute information needed for the relative distinguished name).
  935. This entry may be placed there solely to support the subordinate
  936. entry, as its existence is inferred by the subordinate entry.  Only
  937. the owner of the entry may place information into it.  This might be
  938. thought of as directory knowledge information.  An analogous situation
  939. in current operational practice is to make DIT entries for Countries
  940. and US States.
  941.  
  942.  
  943. Kille                                 Expires:  January 1994   Page 17
  944.  
  945.  
  946.  
  947.  
  948. INTERNET--DRAFT          MHS Routing using Directory         July 1993
  949.  
  950. _______________________________________________________________________
  951. routingTreeRoot OBJECT-CLASS
  952.     SUBCLASS OF routingInformation, subtree
  953.     ::= oc-routing-tree-root
  954.  
  955. _________________Figure_1:__Location_of_Routing_Trees__________________
  956.  
  957.  
  958. 9.3  Routing Tree Location
  959.  
  960.  
  961. All routing trees follow the same O/R address hierarchy.  Routing
  962. trees other than the open community routing tree are rooted at
  963. arbitrary parts of the DIT. These routing trees are instantiated using
  964. the subtree mechanism defined in the companion document ``Representing
  965. Tables and Subtrees in the Directory'' [11].  A routing tree is
  966. identified by the point at which it is rooted.  An MTA will use a list
  967. of routing trees, as determined by the mechanism described in
  968. Section 10.  Routing trees may be located in either the organisational
  969. or O/R address structured part of the DIT. All routing trees, other
  970. than the open community routing tree, are rooted by an entry of object
  971. class RoutingTreeRoot, as defined in Figure 1.
  972.  
  973. 9.4  Example Routing Trees
  974.  
  975.  
  976. Consider routing trees with entries for O/R Address:
  977.  
  978. PRMD=UK.AC; ADMD=Gold 400; C=GB;
  979.  
  980.  
  981. In the open community routing tree, this would have a distinguished
  982. name of:
  983.  
  984. PRMD=UK.AC, ADMD=Gold 400, C=GB
  985.  
  986.  
  987. Consider a routing tree which is private to:
  988.  
  989. O=University College London, C=GB
  990.  
  991.  
  992. They might choose to label a routing tree root ``UCL Routing Tree'',
  993. which would lead to a routing tree root of:
  994.  
  995.  
  996. Kille                                  Expires: January 1994   Page 18
  997.  
  998.  
  999.  
  1000.  
  1001. INTERNET--DRAFT          MHS Routing using Directory         July 1993
  1002.  
  1003.  
  1004. CN=UCL Routing Tree, O=University College London, C=GB
  1005.  
  1006. The O/R address in question would be stored in this routing tree as:
  1007.  
  1008.  
  1009. PRMD=UK.AC, ADMD=Gold 400,
  1010. C=GB, CN=UCL Routing Tree,
  1011. O=University College London, C=GB
  1012.  
  1013. 9.5  Use of Routing Trees to look up Information
  1014.  
  1015.  
  1016. Lookup of an O/R address in a routing tree is done as follows:
  1017.  
  1018. 1.  Map the O/R address onto the O/R address hierarchy described in
  1019.     [11] in order to generate a Distinguished Name.
  1020.  
  1021. 2.  Append this to the Distinguished Name of the routing tree, and
  1022.     then look up the whole name.
  1023.  
  1024. 3.  Handling of errors will depend on the application of the lookup,
  1025.     and is discussed later.
  1026.  
  1027.  
  1028. Note that it is valid to look up a null O/R Address, as the routing
  1029. tree root may contain default routing information for the routing
  1030. tree.  This is held in the root entry of the routing tree, which is a
  1031. subclass of routingInformation.  The open community routing tree does
  1032. not have a default.
  1033. Routing trees may have aliases into other routing trees.  This will
  1034. typically be done to optimise lookups from the first routing tree
  1035. which a given MTA uses.  Lookup needs to take account of this.
  1036.  
  1037.  
  1038. 10  Routing Tree Selection
  1039.  
  1040. The list of routing trees which a given MTA uses will be represented
  1041. in the directory.  This uses the attribute defined in Figure 2.
  1042.  
  1043. This attribute defines the routing trees used by an MTA, and the order
  1044. in which they are used.  Holding these in the directory eases
  1045. configuration management.  It also enables an MTA to calculate the
  1046. routing choice of any other MTA which follows this specification,
  1047. provided that none of its routing trees have access restrictions.
  1048.  
  1049. Kille                                 Expires:  January 1994   Page 19
  1050.  
  1051.  
  1052.  
  1053.  
  1054. INTERNET--DRAFT          MHS Routing using Directory         July 1993
  1055.  
  1056. _______________________________________________________________________
  1057. routingTreeList ATTRIBUTE
  1058.         WITH ATTRIBUTE-SYNTAX RoutingTreeList
  1059.         SINGLE VALUE
  1060.         ::= at-routing-tree-list
  1061.  
  1062. RoutingTreeList ::= SEQUENCE OF RoutingTreeName
  1063.  
  1064.  
  1065. RoutingTreeName ::= DistinguishedName,
  1066.  
  1067. ________________Figure_2:__Routing_Tree_Use_Definition_________________
  1068.  
  1069.  
  1070. This should facilitate debugging routing problems.
  1071.  
  1072.  
  1073. 10.1  Routing Tree Order
  1074.  
  1075. The order in which routing trees are used will be critical to the
  1076. operation of this algorithm.  A common approach will be:
  1077.  
  1078.  
  1079. 1.  Access one or more shared private routing trees to access private
  1080.     routing information.
  1081.  
  1082. 2.  Utilise the open routing tree.
  1083.  
  1084. 3.  Fall back to a default route from one of the private routing
  1085.     trees.
  1086.  
  1087. Initially, the open routing tree will be very sparse, and there will
  1088. be little routing information in ADMD level nodes.  Access to many
  1089. services will only be via ADMD services, which in turn will only be
  1090. accessible via private links.  For most MTAs, the fallback routing
  1091. will be important, in order to gain access to an MTA which has the
  1092. right private connections configured.
  1093.  
  1094. In general, for a site, UAs will be registered in one routing tree
  1095. only, in order to avoid duplication.  They may be placed into other
  1096. routing trees by use of aliases, in order to gain performance.  For
  1097. some sites, Users and UAs with a 1:1 mapping will be mapped onto
  1098. single entries by use of aliases.
  1099.  
  1100.  
  1101.  
  1102. Kille                                 Expires:  January 1994   Page 20
  1103.  
  1104.  
  1105.  
  1106.  
  1107. INTERNET--DRAFT          MHS Routing using Directory         July 1993
  1108.  
  1109.  
  1110. 10.2  Example use of Routing Trees
  1111.  
  1112. Some examples of how this structure might be used are now given.  Many
  1113. other combinations are possible to suit organisational requirements.
  1114.  
  1115. 10.2.1  Fully Open Organisation
  1116.  
  1117.  
  1118. The simplest usage is to place all routing information in the open
  1119. community routing tree.  An organisation will simply establish O/R
  1120. addresses for all of its UAs in the open community tree, each
  1121. registering its supporting MTA. This will give access to all systems
  1122. accessible from this open community.
  1123.  
  1124. 10.2.2  Open Organisation with Fallback
  1125.  
  1126. In practice, some MTAs and MDs will not be directly reachable from the
  1127. open community (e.g., ADMDs with a strong model of bilateral
  1128. agreements).  These services will only be available to
  1129. users/communities with appropriate agreements in place.  Therefore it
  1130. will be useful to have a second (local) routing tree, containing only
  1131. the name of the fallback MTA at its root.
  1132.  
  1133. Thus, open routing will be tried first, and if this fails the message
  1134. will be routed to a single selected MTA.
  1135.  
  1136. 10.2.3  Minimal-routing MTA
  1137.  
  1138.  
  1139. The simplest approach to routing for an MTA is to deliver messages to
  1140. associated users, and send everything else to another MTA (possibly
  1141. with backup).
  1142. An organisation using MTAs with this approach will register its users
  1143. as for the fully open organisation.  A single routing tree will be
  1144. established, with the name of the organisation being aliased into the
  1145. open community routing tree.  Thus the MTA will correctly identify
  1146. local users, but use a fallback mechanism for all other addresses.
  1147.  
  1148. 10.2.4  Organisation with Firewall
  1149.  
  1150.  
  1151. An organisation can establish an organisation community to build a
  1152. firewall, with the overall organisation being registered in the open
  1153. community.  This is an important structure, which cannot be achieved
  1154.  
  1155. Kille                                 Expires:  January 1994   Page 21
  1156.  
  1157.  
  1158.  
  1159.  
  1160. INTERNET--DRAFT          MHS Routing using Directory         July 1993
  1161.  
  1162.  
  1163. easily with current technology (e.g., DNS with MX records).
  1164.  
  1165.  o  Some MTAs are registered in the open community routing tree to
  1166.     give access into the organisation.  This will include the O/R tree
  1167.     down to the organisational level.  Full O/R Address verification
  1168.     will not take place externally.
  1169.  
  1170.  o  All users are registered in a private (organisational) routing
  1171.     tree.
  1172.  
  1173.  o  All MTAs in the organisation are registered in the organisation's
  1174.     private routing tree, and access information in the organisation's
  1175.     community.  This gives full internal connectivity.
  1176.  
  1177.  o  Some MTAs in the organisation access the open community routing
  1178.     tree.  These MTAs take traffic from the organisation to the
  1179.     outside world.  These will often be the same MTAs that are
  1180.     externally advertised.
  1181.  
  1182.  
  1183. 10.2.5  Well Known Entry Points
  1184.  
  1185. Well known entry points will be used to provide access to countries
  1186. and MDs which are oriented to private links.  A private routing tree
  1187. will be established, which indicates these links.  This tree would be
  1188. shared by the well known entry points.
  1189.  
  1190. 10.2.6  ADMD using the Open Community for Advertising
  1191.  
  1192.  
  1193. An ADMD uses the open community for advertising.  It advertises its
  1194. existence and also restrictive policy.  This will be useful for:
  1195.  
  1196.  o  Address validation
  1197.  
  1198.  o  Advertising the mechanism for a bilateral link to be established
  1199.  
  1200.  
  1201. 10.2.7  ADMD/PRMD gateway
  1202.  
  1203. An MTA provides a gateway from a PRMD to an ADMD. It is important to
  1204. note that many X.400 MDs will not use the directory.  This is quite
  1205. legitimate.  This technique can be used to register access into such
  1206.  
  1207.  
  1208. Kille                                 Expires:  January 1994   Page 22
  1209.  
  1210.  
  1211.  
  1212.  
  1213. INTERNET--DRAFT          MHS Routing using Directory         July 1993
  1214.  
  1215.  
  1216. communities from those that use the directory.
  1217.  
  1218.  o  The MTA registers the ADMD in its local community (private link)
  1219.  
  1220.  o  The MTA registers itself in the PRMD's community to give access to
  1221.     the ADMD.
  1222.  
  1223.  
  1224. 11  Routing Information
  1225.  
  1226. Routing trees are defined in the previous section, and are used as a
  1227. framework to hold routing information.  Each node, other than a
  1228. skeletal one, in a routing tree has information associated with it,
  1229. which_is_defined_by_the_object_class_routingInformation_in_Figure_3.___
  1230.  
  1231. routingInformation OBJECT-CLASS
  1232.     SUBCLASS OF top
  1233.     MAY CONTAIN {
  1234.         subtreeInformation,
  1235.         routingFilter,
  1236.         routingFailureAction,
  1237.         mTAInfo,
  1238.         accessMD,
  1239.         nonDeliveryInfo,
  1240.         badAddressSearchPoint,                                      10
  1241.         badAddressSearchAttributes}
  1242.     ::= oc-routing-information
  1243.                 -- No naming attributes as this is not a
  1244.                 -- structural object class
  1245.  
  1246.  
  1247.  
  1248. subtreeInformation ATTRIBUTE
  1249.     WITH ATTRIBUTE-SYNTAX SubtreeInfo
  1250.     SINGLE VALUE                                                    20
  1251.     ::= at-subtree-information
  1252.  
  1253. SubtreeInfo ::= ENUMERATED {
  1254.     all-children-present(0),
  1255.     not-all-children-present(1) }
  1256.  
  1257.  
  1258. routingFilter ATTRIBUTE
  1259.  
  1260.  
  1261. Kille                                 Expires:  January 1994   Page 23
  1262.  
  1263.  
  1264.  
  1265.  
  1266. INTERNET--DRAFT          MHS Routing using Directory         July 1993
  1267.  
  1268.  
  1269.     WITH ATTRIBUTE-SYNTAX RoutingFilter
  1270.     ::= at-routing-filter                                           30
  1271.  
  1272.  
  1273. RoutingFilter ::= SEQUENCE{
  1274.         attribute-type OBJECT-IDENTIFIER,
  1275.         weight RouteWeight,
  1276.         dda-key String OPTIONAL,
  1277.         regex-match IA5String OPTIONAL,
  1278.         node DistinguishedName }
  1279.  
  1280. String ::= CHOICE {PrintableString, TeletexString}                  40
  1281.  
  1282. routingFailureAction ATTRIBUTE
  1283.     WITH ATTRIBUTE-SYNTAX RoutingFailureAction
  1284.     SINGLE VALUE
  1285.     ::= at-routing-failure-action
  1286.  
  1287. RoutingFailureAction ::= ENUMERATED {
  1288.             next-level(0),
  1289.             next-tree-only(1),
  1290.             next-tree-first(2),                                     50
  1291.             stop(3)  }
  1292.  
  1293.  
  1294. mTAInfo ATTRIBUTE
  1295.     WITH ATTRIBUTE-SYNTAX MTAInfo
  1296.     ::= at-mta-info
  1297.  
  1298. MTAInfo ::= SEQUENCE {
  1299.             name DistinguishedName,
  1300.             weight [1] RouteWeight DEFAULT preferred-access,        60
  1301.             mta-attributes [2] SET OF Attribute OPTIONAL,
  1302.             ae-info [4] SEQUENCE OF SEQUENCE {
  1303.                 aEQualifier PrintableString,
  1304.                 ae-weight RouteWeight DEFAULT preferred-access,
  1305.                 ae-attributes SET OF Attribute OPTIONAL} OPTIONAL
  1306. }
  1307.  
  1308. RouteWeight ::= INTEGER  {endpoint(0),
  1309.                 preferred-access(5),
  1310.                 backup(10)} (0..20)                                 70
  1311.  
  1312.  
  1313.  
  1314. Kille                                 Expires:  January 1994   Page 24
  1315.  
  1316.  
  1317.  
  1318.  
  1319. INTERNET--DRAFT          MHS Routing using Directory         July 1993
  1320.  
  1321.  
  1322. _______________Figure_3:__Routing_Information_at_a_Node________________
  1323.  
  1324. For example, information might be associated with the node:
  1325.  
  1326. PRMD=CDC, ADMD=ATTmail, C=US
  1327.  
  1328.  
  1329. If this node was in the open community routing tree, then the
  1330. information represents information published by the owner of the PRMD
  1331. relating to public access to that PRMD. If this node was present in
  1332. another routing tree, it would represent information published by the
  1333. owner of the routing tree about access information to the referenced
  1334. PRMD. The attributes associated with a routingInformation node provide
  1335. the following information:
  1336.  
  1337.  o  That the node corresponds a valid O/R address.  This is implicit
  1338.     in the existence of the entry.
  1339.  
  1340.  o  If the node is a UA. This will be true if the node is of object
  1341.     class routedUA. This is described further in Section 12.  If it is
  1342.     not of this object class, it is an intermediate node in the O/R
  1343.     Address hierarchy.
  1344.  
  1345.  o  Whether or not the node is authoritative for the level below is
  1346.     specified by the subtreeInformation attribute.  If it is
  1347.     authoritative, indicated by the value all-children-present, this
  1348.     will give the basis for (permanently) rejecting invalid O/R
  1349.     Addresses.  The attribute is encoded as enumerated, as it may be
  1350.     later possible to add partial authority (e.g., for certain
  1351.     attribute types).  If this attribute is missing, the node is
  1352.     assumed to be non-authoritative (not-all-children-present).  For
  1353.     example, consider the node:
  1354.  
  1355.     MHS-O=X-Tel, PRMD=UK.AC, ADMD=Gold 400, C=GB
  1356.  
  1357.  
  1358.  
  1359.     An organisation which has a bilateral agreement with this
  1360.     organisation has this entry in its routing tree, with no children
  1361.     entries.  This is marked as non-authoritative.  There is a second
  1362.     routing tree maintained by X-Tel, which contains all of the
  1363.     children of this node, and is marked as authoritative.  When
  1364.     considering an O/R Address
  1365.  
  1366.  
  1367. Kille                                  Expires: January 1994   Page 25
  1368.  
  1369.  
  1370.  
  1371.  
  1372. INTERNET--DRAFT          MHS Routing using Directory         July 1993
  1373.  
  1374.  
  1375.     MHS-G=Random + MHS-S=Unknown, MHS-O=Fast Fruit ltd.,
  1376.     PRMD=MHS plc, ADMD=Gold 400, C=GB
  1377.  
  1378.  
  1379.     only the second, authoritative routing tree can be used to
  1380.     determine that this address is invalid.
  1381.  
  1382.  o  A list of MTAs and associated information defined by the mtaInfo
  1383.     attribute.  This information is discussed further in Sections 16
  1384.     and 19.  This information is the key information associated with
  1385.     the node.  When a node is matched in a lookup, it indicates the
  1386.     validity of the route, and a set of MTAs to connect to.  Selection
  1387.     of MTAs is discussed in Sections 19 and Section 11.1.
  1388.  
  1389.  o  An action to be taken if none of the MTAs can be used directly (or
  1390.     if there are no MTAs present) is defined by the
  1391.     routingFailureAction attribute.  When an routing tree is being
  1392.     used, it is usually in the context of a sequence of routing trees.
  1393.     If a matched node cannot be used directly, the routing algorithm
  1394.     will have the choice to move up a level in the current routing
  1395.     tree, or to move on to the next routing tree with an option to
  1396.     move back to the first tree later.  This option to move back is to
  1397.     allow for the common case where a tree is used to specify two
  1398.     things:
  1399.  
  1400.     1.  Routing information private to the MTA (e.g., local UAs or
  1401.         routing info for bilateral links).
  1402.  
  1403.     2.  Default routing information for the case where other routing
  1404.         has failed.
  1405.  
  1406.     The actions allow for a tree to be followed, for the private
  1407.     information, then for other trees to be used, and finally to fall
  1408.     back to the default situation.  For very complex configurations it
  1409.     might be necessary to split this into two trees.  The options are:
  1410.  
  1411.     1.  Move up a level in the current routing tree.  This is the
  1412.         action implied if the attribute is omitted.  This will usually
  1413.         be the best action in the open community routing tree.  It is
  1414.         the default action if the attribute is not present.
  1415.  
  1416.     2.  Move to the next tree.  This will be useful optimisation for a
  1417.         routing tree where it is known that there is no useful
  1418.  
  1419.  
  1420. Kille                                 Expires:  January 1994   Page 26
  1421.  
  1422.  
  1423.  
  1424.  
  1425. INTERNET--DRAFT          MHS Routing using Directory         July 1993
  1426.  
  1427.  
  1428.         additional routing information higher in the routing tree.
  1429.  
  1430.     3.  Move to the next tree, and then default back to the next level
  1431.         in this tree if no route is found.  This will be useful for an
  1432.         MTA to operate in the sequence:
  1433.  
  1434.        (a)  Check for optimised private routes
  1435.  
  1436.        (b)  Try other available information
  1437.  
  1438.        (c)  Fall back to a local default route
  1439.  
  1440.  o  The accessMD attribute is discussed in Section 11.3.  This
  1441.     attribute is used to indicate MDs which provide indirect access to
  1442.     the part of the tree that is being routed to.
  1443.  
  1444.  o  The badAddressSearchPoint and badAddressSearchAttributes are
  1445.     discussed in Section 16.  This attribute is for when an address
  1446.     has been rejected, and allows information on alternative addresses
  1447.     to be found.
  1448.  
  1449.  o  A set of routing filters, defined by the routingFilter attribute.
  1450.     This attribute provides for routing on information in the
  1451.     unmatched part of the O/R Address.  This is described in
  1452.     Section 11.2.
  1453.  
  1454.     11.1  MTA Choice
  1455.  
  1456.     This section considers how the choice between alternate MTAs is
  1457.     made.  First, it is useful to consider the conditions why an MTA
  1458.     is entered into a node of the routing tree are:
  1459.  
  1460.     --  The manager for the node of the tree must place it there.
  1461.         This is a formality, but critical in terms of overall
  1462.         authority.
  1463.  
  1464.     --  The MTA manager should agree to it being placed there.
  1465.  
  1466.     --  The MTA will in general (for some class of message) be
  1467.         prepared to route to any valid O/R address in the subtree
  1468.         implied by the address.  The only exception to this is where
  1469.         the MTA will route to a subset of the tree which cannot easily
  1470.         be expressed by making entries at the level below.  An example
  1471.  
  1472.  
  1473. Kille                                 Expires:  January 1994   Page 27
  1474.  
  1475.  
  1476.  
  1477.  
  1478. INTERNET--DRAFT          MHS Routing using Directory         July 1993
  1479.  
  1480.  
  1481.         might be an MTA prepared to route to all of the subtree, with
  1482.         certain explicit exceptions.
  1483.  
  1484.     Information on each MTA is stored in an mTAInfo attribute.  This
  1485.     attribute contains:
  1486.  
  1487.     name The Distinguished Name of the MTA (Application Process)
  1488.  
  1489.     weight A weighting factor (Route Weight) which gives a basis to
  1490.         choose between different MTAs.
  1491.  
  1492.     mta-attributes Attributes from the MTAs entry.  Information on
  1493.         the MTA will generally be stored in the MTA's entry.  The MTA
  1494.         is represented here as a structure, which enables some of this
  1495.         entry information to be represented in the routing node.  This
  1496.         can lead to considerable performance optimisation.  For
  1497.         example if ten MTAs were represented at a node, another MTA
  1498.         making a routing decision might need to make ten reads in
  1499.         order to obtain the information needed.  If any attributes are
  1500.         present here, all of the attributes needed to make a routing
  1501.         decision will be included, and also all attributes at the
  1502.         Application Entity level
  1503.  
  1504.     Where an MTA supports a single protocol only, or the protocols it
  1505.     supports have address information that can be represented in
  1506.     non-conflicting attributes, then the MTA may be represented as an
  1507.     application process only.  In this case, the ae-info structure
  1508.     which gives information on associated application entities may be
  1509.     omitted, as the MTA is represented by a single application entity
  1510.     which has the same name as the application process.  In other
  1511.     cases, the names of all application entities shall be included.  A
  1512.     weight is associated with each application entity to allow the MTA
  1513.     to indicate a preference between its application entities.
  1514.  
  1515.     ae-qualifier A printable string (e.g.  ``x400-88''), used to
  1516.         derive the relative distinguished name of the application
  1517.         entity.
  1518.  
  1519.     ae-weight A weighting factor (Route Weight) which gives a basis
  1520.         to choose between different Application Entities (not between
  1521.         different MTAs).
  1522.  
  1523.     ae-attributes Attributes from the AEs entry.
  1524.  
  1525.  
  1526. Kille                                 Expires:  January 1994   Page 28
  1527.  
  1528.  
  1529.  
  1530.  
  1531. INTERNET--DRAFT          MHS Routing using Directory         July 1993
  1532.  
  1533.  
  1534.     Route weighting is a mechanism to distinguish between different
  1535.     route choices.  A routing weight may be associated with the MTA in
  1536.     the context of a routing tree entry.  This is because routing
  1537.     weight will always be context dependent.  This will allow machines
  1538.     which have other functions to be used as backup MTAs.  The Route
  1539.     Weight is an integer in range 0--20.  The lower the value, the
  1540.     better the choice of MTA. Where the weight is equal, and no other
  1541.     factors apply, the choice between the MTAs should be random to
  1542.     facilitate load balancing.  If the MTA itself is in the list, it
  1543.     should only route to an MTA of lower weight.  The exact values
  1544.     will be chosen by the manager of the relevant part of the routing
  1545.     tree.  For guidance, three fixed points are given:
  1546.  
  1547.     --  0.  For an MTA which can deliver directly to the entire
  1548.         subtree implied by the position in the routing tree.
  1549.  
  1550.     --  5.  For an MTA which is preferred for this point in the
  1551.         subtree.
  1552.  
  1553.     --  10.  For a backup MTA.
  1554.  
  1555.     When an organisation registers in multiple routing trees, the
  1556.     route weight used is dependent on the context of the subtree.  In
  1557.     general it is not possible to compare weights between subtrees.
  1558.     In some cases, use of route weighting can be used to divert
  1559.     traffic away from expensive links.
  1560.     Attributes that are available in the MTA entry and will be needed
  1561.     for making a routing choice are:
  1562.     *** list attributes which must be present here if they are in the
  1563.     MTA ***
  1564.     A full list of MTA attributes, with summaries of their
  1565.     descriptions are given in Section 17.
  1566.     *** delete following list when referenced section is filled in ***
  1567.  
  1568.     --  Authentication policy of the MTA (e.g., some MTAs may require
  1569.         strong authentication).  This is discussed in Section 21.2.
  1570.  
  1571.     --  Information on the stack offered by the MTA. This is discussed
  1572.         in Section 19.1.
  1573.  
  1574.     --  Policy for the traffic an MTA will route.  This is discussed
  1575.         in Section 22.
  1576.  
  1577.  
  1578.  
  1579. Kille                                 Expires:  January 1994   Page 29
  1580.  
  1581.  
  1582.  
  1583.  
  1584. INTERNET--DRAFT          MHS Routing using Directory         July 1993
  1585.  
  1586.  
  1587.     11.2  Routing Filters
  1588.  
  1589.     This attribute provides for routing on information in the
  1590.     unmatched part of the O/R Address, including:
  1591.  
  1592.     --  Routing on the basis of an O/R Address component type
  1593.  
  1594.     --  Routing on the basis of a substring match of an O/R address
  1595.         component.  This might be used to route X121 addressed faxes
  1596.         to an appropriate MTA.
  1597.  
  1598.     When present, the procedures of analysing the routing filters
  1599.     should be followed before other actions.  The routing filter
  1600.     overrides MTAinfo and accessMD attributes.  The components of the
  1601.     routingFilter attribute are:
  1602.  
  1603.     attribute-type This gives the attribute type to be matched, and
  1604.         is selected from the attribute types which have not been
  1605.         matched to identify the routing entry.  The filter applies to
  1606.         this attribute type.  If there is no regulear expression
  1607.         present (as defined below), the filter is true if the
  1608.         attribute is present.  The value is the object identifier of
  1609.         the X.500 attribute type (e.g., at-prmd-name).
  1610.  
  1611.     weight This gives the weight of the filter, which is encoded as a
  1612.         Route Weight.  If multiple filters match, the weight of each
  1613.         matched filter is used to select between them.  If the weight
  1614.         is the same, then a random choice should be made.
  1615.  
  1616.     dda-key If the attribute is domain defined, then this parameter
  1617.         may be used to identify the key.
  1618.  
  1619.     regex-match This string is used to give a regular expression
  1620.         match on the attribute value.  The syntax for regular
  1621.         expressions is defined in Appendix E.
  1622.  
  1623.     node This defines where to get routing information for the
  1624.         filter.  It will be an entry with object class
  1625.         routingInformation, which can be used to determine the MTA or
  1626.         MTA choice.
  1627.  
  1628.     An example of use of routing filters is now given, showing how to
  1629.     route on X121 address to a fax gateway in Germany.  Consider the
  1630.  
  1631.  
  1632. Kille                                 Expires:  January 1994   Page 30
  1633.  
  1634.  
  1635.  
  1636.  
  1637. INTERNET--DRAFT          MHS Routing using Directory         July 1993
  1638.  
  1639. _______________________________________________________________________
  1640. accessMD ATTRIBUTE
  1641.         WITH ATTRIBUTE-SYNTAX distinguishedNameSyntax
  1642.         ::= at-access-md
  1643.  
  1644. ______________________Figure_4:__Indirect_Access_______________________
  1645.  
  1646.  
  1647.     routing point.
  1648.  
  1649.      PRMD=UK.AC, ADMD=Gold 400, C=GB
  1650.  
  1651.  
  1652.     The entry associated would have two routing filters:
  1653.  
  1654.  
  1655.     1.  One with type x121 and no regular expression, to route a
  1656.         default fax gateway.
  1657.  
  1658.     2.  One with type x121 and a regular expression ^9262 to route all
  1659.         German faxes to a fax gateway located in Germany with which
  1660.         there is a bilateral agreement.  This would have a lower
  1661.         weight, so that it would be selected over the default fax
  1662.         gateway.
  1663.  
  1664. 11.3  Indirect Connectivity
  1665.  
  1666.  
  1667. In some cases a part of the O/R Address space will be accessed
  1668. indirectly.  For example, an ADMD without access from the open
  1669. community might have an agreement with another MD to provide this
  1670. access.  This is achieved by use of the accessMD attribute defined in
  1671. Figure 4.  If this attribute is found, the routing algorithm should
  1672. read the entry pointed to by this distinguished name and route
  1673. according to the information retrieved, in order to route to this
  1674. access MD.
  1675. The attribute is called an MD, as this is descriptive of its normal
  1676. use.  It might point to a more closely defined part of the O/R Address
  1677. space.
  1678. It is possible for both access MD and MTAs to be specified.  This
  1679. might be done if the MTAs only support access over a restricted set of
  1680. transport stacks.  In this case, the access MD should only be routed
  1681. to if it is not possible to route to any of the MTAs.
  1682.  
  1683. This structure can also be used as an optimisation, where a set of
  1684.  
  1685. Kille                                 Expires:  January 1994   Page 31
  1686.  
  1687.  
  1688.  
  1689.  
  1690. INTERNET--DRAFT          MHS Routing using Directory         July 1993
  1691.  
  1692. _______________________________________________________________________
  1693.  
  1694. routedUA OBJECT-CLASS
  1695.     SUBCLASS OF routingInformation
  1696.     MAY CONTAIN {
  1697.                         -- from X.402
  1698.         mhs-deliverable-content-length,
  1699.         mhs-deliverable-content-types,
  1700.         mhs-deliverable-eits,
  1701.         mhs-message-store,
  1702.         mhs-preferred-delivery-methods,                             10
  1703.         -- ** Note to add supported P2 extensions
  1704.         -- ** SEK cannot find standard reference
  1705.                         -- defined here
  1706.         mandatoryRedirect,
  1707.         supportingMTA,
  1708.         filteredRedirect,
  1709.         userName,
  1710.         nonDeliveryInfo}
  1711.     ::= oc-routed-ua
  1712.                                                                     20
  1713. supportingMTA ATTRIBUTE
  1714.     SUBTYPE OF mtaInfo
  1715.     ::= at-supporting-mta
  1716.  
  1717. userName ATTRIBUTE
  1718.     WITH ATTRIBUTE-SYNTAX distinguishedNameSyntax
  1719.     ::= at-user-name
  1720.  
  1721. _______________________Figure_5:__UA_Attributes________________________
  1722.  
  1723.  
  1724. MTAs provides access to several parts of the O/R Address space.
  1725. Rather than repeat the MTA information, a single access MD is used as
  1726. a means of grouping the MTAs.  The value of the Distinguished Name of
  1727. the access MD will probably not be meaningful in this case.
  1728.  
  1729.  
  1730. 12  Local Addresses (UAs)
  1731.  
  1732.  
  1733. Local addresses (UAs) are a special case for routing:  the endpoint.
  1734. The definition of the routedUA object class is given in Figure 5.
  1735. This identifies a User Agent in a routing tree.  This is needed for
  1736. several reasons:
  1737.  
  1738. Kille                                 Expires:  January 1994   Page 32
  1739.  
  1740.  
  1741.  
  1742.  
  1743. INTERNET--DRAFT          MHS Routing using Directory         July 1993
  1744.  
  1745.  
  1746. 1.  To allow UAs to be defined without having an entry in another part
  1747.     of the DIT.
  1748.  
  1749. 2.  To identify which (leaf and non-leaf) nodes in a routing tree are
  1750.     User Agents.  In a pure X.400 environment, a UA (as distinct from
  1751.     a connecting part of the O/R address space) is simply identified
  1752.     by object class.  Thus an organisation entry can itself be a UA. A
  1753.     UA need not be a leaf, and can thus have children in the tree.
  1754.  
  1755. 3.  To allow UA parameters as defined in X.402 (e.g., the
  1756.     mhs-deliverable-eits) to be determined efficiently from the
  1757.     routing tree, without having to go to the user's entry.
  1758.  
  1759. 4.  To identify the MTA which supports a UA. The MTAs which support a
  1760.     UA directly are noted in the SupportingMTA attribute, which may be
  1761.     multi-valued.  X.400 models that only one MTA is associated with a
  1762.     UA. In practice, it is possible and useful for several MTAs to be
  1763.     able to deliver to a single UA. This attribute is a subtype of
  1764.     MTAinfo, as it is possible for an MTA to be registered to route to
  1765.     a UA, without it actually being able to deliver messages to it.
  1766.     This attribute must be present, unless the address is being
  1767.     non-delivered or redirected.
  1768.  
  1769. 5.  The attribute nonDeliveryInfo mandates non-delivery to this
  1770.     address, as described in Section 25.
  1771.  
  1772. 6.  The attributes mandatoryRedirect and filteredRedirect control
  1773.     redirects, as described in Section 23.
  1774.  
  1775. 7.  The attribute userName points to the distinguished Name of the
  1776.     user, as defined by the mhs-user in X.402.  **REF** The pointer
  1777.     from the user to the O/R Address is achieved by the
  1778.     mhs-or-addresses attribute.  This makes the UA/User linkage
  1779.     symmetrical.
  1780.  
  1781. When routing to a UA, an MTA will read the supportingMTA attribute.
  1782. If it finds its own name present, it will know that the UA is local,
  1783. and invoke appropriate procedures for local delivery (e.g.,
  1784. co-resident or P3 access information).  The cost of holding these
  1785. attributes for each UA at a site will often be reduced by use of
  1786. shared attributes (** REF X.500(92)).
  1787.  
  1788. The linkage between the UA and User entries was noted above.  It is
  1789. also possible to use a single entry for both User and UA, as there is
  1790.  
  1791. Kille                                 Expires:  January 1994   Page 33
  1792.  
  1793.  
  1794.  
  1795.  
  1796. INTERNET--DRAFT          MHS Routing using Directory         July 1993
  1797.  
  1798.  
  1799. no conflict between these.  In this case, the entries should be in one
  1800. part of the DIT, with aliases from the other.
  1801. Many sites will need to support local RFC 822 mailboxes (UAs).  As the
  1802. RFC 822 mailboxes are untyped, it is necessary for such a site to
  1803. represent every mailbox as an routedUA object.
  1804. To support UAs of other object classes, there will then need to be
  1805. aliases to the correct entry.  For example, suppose that there is a
  1806. UA:
  1807.  
  1808.  
  1809. MHS-CN=Postmaster, MHS-OU=CS, MHS-O=UCL,
  1810. PRMD=UK.AC, ADMD=Gold 400, C=GB
  1811.  
  1812. There will have to be an alias:
  1813.  
  1814.  
  1815. CN="/CN=Postmaster/", MHS-OU=CS, MHS-O=UCL,
  1816. PRMD=UK.AC, ADMD=Gold 400, C=GB
  1817.  
  1818. which points to the real entry.  For user convenience, it will also be
  1819. desirable to have an alias:
  1820.  
  1821.  
  1822. CN=Postmaster, MHS-OU=CS, MHS-O=UCL,
  1823. PRMD=UK.AC, ADMD=Gold 400, C=GB
  1824.  
  1825.  
  1826. If there is a mailbox for:
  1827.  
  1828. MHS-OU=Sales, MHS-OU=CS, MHS-O=UCL,
  1829. PRMD=UK.AC, ADMD=Gold 400, C=GB
  1830.  
  1831.  
  1832. There will need to be an alias:
  1833.  
  1834. CN="/OU=Sales/", MHS-OU=CS, MHS-O=UCL,
  1835. PRMD=UK.AC, ADMD=Gold 400, C=GB
  1836.  
  1837.  
  1838. In general, aliases can be used extensively at this level to provide
  1839. alternate values for names.  For routing purpose, UAs (Mailboxes) will
  1840. only be located by the read operation, not by searching.  This is for
  1841. efficiency of overall routing.
  1842.  
  1843.  
  1844. Kille                                 Expires:  January 1994   Page 34
  1845.  
  1846.  
  1847.  
  1848.  
  1849. INTERNET--DRAFT          MHS Routing using Directory         July 1993
  1850.  
  1851.  
  1852. To support many UNIX mail utilities, it is important for UNIX sites to
  1853. alias the UNIX login ids as alternate values, and to have tools which
  1854. maintain this binding automatically.
  1855.  
  1856. 12.1  Searching for Local Users
  1857.  
  1858.  
  1859. The approach defined in this specification performs all routing by use
  1860. of reads.  This is done for performance reasons, as it is a reasonable
  1861. expectation that all DSA implementations will support a high
  1862. performance read operation.  For local routing only, an MTA in
  1863. cooperation with the provider of the local routing tree may choose to
  1864. use a search operation to perform routing.  The major benefit of this
  1865. is that there will not be a need to store aliases for alternate names,
  1866. and so the directory storage requirement and alias management will be
  1867. reduced.  The difficulty with this approach is that it is hard to
  1868. define search criteria that would be effective in all situations and
  1869. well supported by all DUAs.  There are also issues about determining
  1870. the validity of a route on the basis of partial matches.
  1871.  
  1872. 13  Direct Lookup
  1873.  
  1874.  
  1875. Where an O/R address is registered in the open community and has one
  1876. or more ``open'' MTAs which support it, this will be optimised by
  1877. storing MTA information in the O/R address entry.  In general, the
  1878. Directory will support this by use of attribute inheritance or an
  1879. implementation will optimise the storage or repeate informaion, and so
  1880. there will not be a large storage overhead implied.  This is a
  1881. function of the basic routing approach.
  1882. As a further optimisation of this case, the User's distinguished name
  1883. entry may contain the MTAInfo attribute.  This can be looked up from
  1884. the distinguished name, and thus routing on submission can be achieved
  1885. by use of a single read.
  1886.  
  1887.  
  1888. 14  Alternate Routes
  1889.  
  1890.  
  1891. 14.1  Finding Alternate Routes
  1892.  
  1893. The routing algorithm selects a single MTA to be routed to.  It could
  1894. be extended to find alternate routes to a single MTA with possibly
  1895.  
  1896.  
  1897. Kille                                 Expires:  January 1994   Page 35
  1898.  
  1899.  
  1900.  
  1901.  
  1902. INTERNET--DRAFT          MHS Routing using Directory         July 1993
  1903.  
  1904.  
  1905. different weights.  How far this is done should be a local
  1906. configuration choice.  Provision of backup routing is desirable, and
  1907. leads to robust service, but excessive use of alternate routing is not
  1908. usually beneficial.  It will often force messages onto convoluted
  1909. paths, when there was only a short outage on the preferred path.
  1910. It is important to note that this strategy will lead to picking the
  1911. first acceptable route.  It is important to configure the routing
  1912. trees, so that the first route identified will also be the best route.
  1913.  
  1914.  
  1915. 14.2  Sharing routing information
  1916.  
  1917. So far, only single addresses have been considered.  Improving routing
  1918. choice for multiple addresses is analogous to dealing with multiple
  1919. routes.  This section defines an optional improvement.  When multiple
  1920. addresses are present, and alternate routes are available, the
  1921. preferred routes should be chosen so as to maximise the number of
  1922. recipients sent with each message.
  1923. Specification of routing trees can facilitate this optimisation.
  1924. Suppose there is a set of addresses (e.g., in an organisation) which
  1925. have different MTAs, but have access to an MTA which will do local
  1926. switching.  If each address is registered with the optimal MTA as
  1927. preferred, but has the ``hub'' MTA registered with a higher route
  1928. weight, then optimisation will occur when a message is sent to
  1929. multiple addresses in the group.
  1930.  
  1931.  
  1932. 15  Looking up Information in the Directory
  1933.  
  1934. The description so far has been abstract about lookup of information.
  1935. This section considers how information is looked up in the Directory.
  1936. Consider that an O/R Address is presented for lookup, and there is a
  1937. sequence of routing trees.  At any point in the lookup sequence, there
  1938. is one of a set of actions that can take place:
  1939.  
  1940.  
  1941. Handle MTA Info Information from the node should be examined.  If
  1942.     suitable information is found, one of the following is done:
  1943.  
  1944.      o  Use the information and finish the routing process
  1945.  
  1946.      o  Continue the routing process in order to find more options to
  1947.         choose from
  1948.  
  1949.  
  1950. Kille                                 Expires:  January 1994   Page 36
  1951.  
  1952.  
  1953.  
  1954.  
  1955. INTERNET--DRAFT          MHS Routing using Directory         July 1993
  1956.  
  1957.  
  1958. Unroutable Address Potentially valid address, which cannot be routed
  1959.  
  1960. Bad Address
  1961.  
  1962. Temporary Reject Try again later (** what action is implied?)
  1963.  
  1964. Permanent Reject Administrative error on the directory which should
  1965.     be fixed, but which prevents routing.
  1966.  
  1967. ***** Add info on what to do and which diagnostic codes and general
  1968. clarification
  1969.  
  1970. Each routing tree should be processed in turn.  To start a new routing
  1971. tree, the full O/R address should be looked up in the routing tree.
  1972. The next routing tree should be started when:
  1973.  
  1974.  o  An entry is reached with routing action next-tree-only or
  1975.     next-tree-first.
  1976.  
  1977.  o  A lookup is done in the routing tree at the top level (i.e.,
  1978.     country), and no routing action is returned.  In this case, it
  1979.     should behave as if the action was next-tree-first.  (*** SEK
  1980.     editorial note here that I did not understand).
  1981.  
  1982.  
  1983. Unless the action is next-tree-only, or the root of the routing tree
  1984. has been processed, the routing tree which is about to be left should
  1985. be pushed onto a stack of routing trees for future processing.  The
  1986. position in the tree should be retained.
  1987. Errors from the lookup (directory read) should be handled as follows:
  1988.  
  1989. AttributeError This leads to a permanent reject.
  1990.  
  1991. NameError The matched parameter is used to determine the number of
  1992.     components of the name that have matched (possibly zero).  The
  1993.     read is then repeated with this name.  This is the normal case,
  1994.     and allows the ``best'' entry in the routing tree to be located
  1995.     with two reads.
  1996.  
  1997. Referral The referral should be followed.
  1998.  
  1999. SecurityErrror Strip one component of the O/R address and continue.
  2000.  
  2001.  
  2002.  
  2003. Kille                                 Expires:  January 1994   Page 37
  2004.  
  2005.  
  2006.  
  2007.  
  2008. INTERNET--DRAFT          MHS Routing using Directory         July 1993
  2009.  
  2010.  
  2011. ServiceError This leads to a temporary reject (see above).
  2012.  
  2013. **** Clarify Popping
  2014.  
  2015.  
  2016. 16  Naming MTAs
  2017.  
  2018. MTAs need to be named in the DIT, but the name does not have routing
  2019. significance, it is simply a unique key.  Attributes associated with
  2020. naming MTAs are given in Figure 6.  This figure also gives a list of
  2021. attributes, which may be present in the MTA entry.  The use of most of
  2022. these is explained in subsequent sections.  The mTAName and
  2023. globalDomainID attributes are needed to define the information that an
  2024. MTA places in trace information.  As noted previously, and MTA is
  2025. represented as an Application Process, with one or more Application
  2026. Entities.
  2027.  
  2028. In X.400, MTAs are named by MD and a single string.  This style of
  2029. naming is supported, with MTAs named in the O/R Address tree relative
  2030. to the root of the DIT (or possibly in a different routing tree).  The
  2031. MTAName attribute is used to name MTAs in this case.  For X.400(88) it
  2032. is assumed that the Distinguished Name may be passed as an AE Title.
  2033. MTAs may be named with any other DN, which can be in the O/R Address
  2034. or Organisational DIT hierarchy.  There are several reasons why MTAs
  2035. might be named differently.
  2036.  
  2037.  
  2038.  o  The flat naming space is inadequate to support large MDs.  MTA
  2039.     name assignment using the directory would be awkward.
  2040.  
  2041.  o  An MD does not wish to register its MTAs in this way (essentially,
  2042.     it prefers to give them private names in the directory).
  2043.  
  2044.  o  An organisation has a policy for naming application processes,
  2045.     which does not fit this approach.
  2046.  
  2047. In this case, the MTA entry must contain the correct information to be
  2048. inserted in trace.  The MTAName and GlobalDomainID attributes are used
  2049. to do this.  They are single value.  For an MTA which inserts
  2050. different trace in different circumstances, a more complex approach
  2051. would be needed.
  2052.  
  2053. An MD may choose to name its MTAs outside of the O/R address
  2054. hierarchy, and then link some or all of them with aliases.  A pointer
  2055.  
  2056. Kille                                 Expires:  January 1994   Page 38
  2057.  
  2058.  
  2059.  
  2060.  
  2061. INTERNET--DRAFT          MHS Routing using Directory         July 1993
  2062.  
  2063. _______________________________________________________________________
  2064. mTAName ATTRIBUTE
  2065.     WITH ATTRIBUTE-SYNTAX
  2066.         caseIgnoreIA5StringSyntax (SIZE(1..ub-mta-name-length)
  2067.     SINGLE VALUE
  2068.     ::= at-mta-name
  2069.                         -- used for naming when
  2070.                         -- MTA is named in O=R Address Hierarchy
  2071.  
  2072. globalDomainID ATTRIBUTE
  2073.     WITH ATTRIBUTE-SYNTAX                                           10
  2074.         GlobalDomainIdentifier
  2075.     SINGLE VALUE
  2076.     ::= at-global-domain-id
  2077.                         -- both attributes present when MTA
  2078.                         -- is named outside O=R Address Hierarchy
  2079.                         -- to enable trace to be written
  2080.  
  2081. mTAApplicationProcess OBJECT CLASS
  2082.     SUBCLASS OF application-process
  2083.     MAY CONTAIN {                                                   20
  2084.         mTAWillRoute,
  2085.         globalDomainID,         -- Default
  2086.         routingTreeList,
  2087.         accessMD,
  2088.         localAccessUnit,
  2089.         accessUnitsUsed
  2090.     }
  2091.     ::= oc-mta-application-process
  2092.  
  2093. mTA OBJECT CLASS   -- Application Entity                            30
  2094.     SUBCLASS OF mhs-message-transfer-agent
  2095.     MAY CONTAIN {
  2096.         mTAName,
  2097.         globalDomainID,         -- per AE variant
  2098.         responderAuthenticationRequirements,
  2099.         initiatorAuthenticationRequirements,
  2100.         responderPullingAuthenticationRequirements,
  2101.         initiatorPullingAuthenticationRequirements,
  2102.         initiatorP1Mode,
  2103.         responderP1Mode,                                            40
  2104.         polledMTAs,
  2105.         transportCommunity,
  2106.         respondingRTSCredentials,
  2107.         initiatingRTSCredentials,
  2108.         callingPresentationAddress,
  2109. Kille   callingSelectorValidity,      Expires:  January 1994   Page 39
  2110.         bilateralTable
  2111.         }
  2112.     ::= oc-mta
  2113.  
  2114. ______________________Figure_6:__MTA_Definitions_______________________
  2115.  
  2116.  
  2117.  
  2118.  
  2119. INTERNET--DRAFT          MHS Routing using Directory         July 1993
  2120.  
  2121.  
  2122. from this space may help in resolving information based on MTA Trace.
  2123.  
  2124. 16.1  Naming 1984 MTAs
  2125.  
  2126.  
  2127. Some simplifications are necessary for 1984 MTAs, and only one naming
  2128. approach may be used.  In X.400, MTAs are named by MD and a single
  2129. string.  This style of naming is supported, with MTAs named in the O/R
  2130. Address tree relative to the root of the DIT (or possibly in a
  2131. different routing tree).  The MTAName attribute is used to name MTAs
  2132. in this case.
  2133.  
  2134. 17  Attributes Associated with the MTA
  2135.  
  2136.  
  2137. This section lists the attributes which may be associated with an MTA
  2138. as defined in Figure 6, summarises their use, and gives pointers to
  2139. the relevant section.
  2140. *** tbs
  2141.  
  2142.  
  2143. 18  Bilateral Agreements
  2144.  
  2145. *** Editorial note.  Work thru this to sort out AP/AE tangle
  2146.  
  2147. *** this section needs to be clarified in general
  2148. In many cases, X.400 routing has to be on the basis of bilateral
  2149. agreement.  We can now consider how these agreements are represented
  2150. in the Directory.  A bilateral agreement is represented by one entry
  2151. associated with each MTA participating in the bilateral agreement.
  2152. For one end of the bilateral agreement, the agreement information will
  2153. be keyed by the name of the MTA at the other end.  Each party to the
  2154. agreement will set up the entry which represents its half of the
  2155. agreed policy.  The fact that these correspond is controlled by the
  2156. external agreement.  In many cases, only one half of the agreement
  2157. will be in the directory.  The other half might be in an ADMD MTA
  2158. configuration file.
  2159. MTA bilateral information is stored in a table, as defined in [11].
  2160. An MTA has one such table, which controls agreements in both
  2161. directions.  The definition of entries in this table are defined in
  2162. Figure 7.  This table will usually be access controlled so that only a
  2163. single MTA or selected MTAs which appear externally as one MTA can
  2164. access it.
  2165.  
  2166.  
  2167. Kille                                 Expires:  January 1994   Page 40
  2168.  
  2169.  
  2170.  
  2171.  
  2172. INTERNET--DRAFT          MHS Routing using Directory         July 1993
  2173.  
  2174. _______________________________________________________________________
  2175. mTABilateralTableEntry OBJECT-CLASS
  2176.     SUBCLASS OF mTA, distinguishedNameTableEntry
  2177.     ::= oc-mta-bilateral-table-entry
  2178.  
  2179. _________________Figure_7:__MTA_Bilateral_Table_Entry__________________
  2180.  
  2181.  
  2182. Each entry in the table is of the object class
  2183. DistinguishedNameTableEntry, which is used to name the entry by the
  2184. distinguished name of the MTA. In some cases discussed in
  2185. Section 21.1, there will also be aliases of type textTableEntry.  The
  2186. MTA attributes needed as a part of the bilateral agreement (typically
  2187. MTA Name/Password pairs), as described in Section 21.3, will always be
  2188. present.  Other MTA attributes (e.g., presentation address) may be
  2189. present for one of two reasons:
  2190.  
  2191.  
  2192. 1.  As a performance optimisation
  2193.  
  2194. 2.  Because the MTA does not have a global entry
  2195.  
  2196. Every MTA with bilateral agreements will define a bilateral MTA table.
  2197. When a connection from a remote MTA is received, its Distinguished
  2198. Name is used to generate the name of the table entry.  For 1984, the
  2199. MTA Name exchanged at the RTS level is used as a key into the table.
  2200. The location of the bilateral table used by the MTA is defined by the
  2201. bilateralTable attribute in the MTA entry, which is defined in
  2202. Figure 18.
  2203.  
  2204. For outbound connections, an attribute in the MTA's entry (either read
  2205. directly, or from mTAInfo from the routing tree) will indicate that a
  2206. bilateral connection should be used.  The entry containing the
  2207. bilateral information for the MTA can be derived as for an incoming
  2208. connection.
  2209. **** Tie in the use of RTS parameters, and add control of various
  2210. types of trace stripping and orginator munging
  2211.  
  2212.  
  2213.  
  2214.  
  2215.  
  2216.  
  2217.  
  2218.  
  2219.  
  2220. Kille                                 Expires:  January 1994   Page 41
  2221.  
  2222.  
  2223.  
  2224.  
  2225. INTERNET--DRAFT          MHS Routing using Directory         July 1993
  2226.  
  2227. _______________________________________________________________________
  2228. transportCommunity ATTRIBUTE
  2229.     WITH ATTRIBUTE SYNTAX objectIdentifierSyntax
  2230.     ::= at-transport-community
  2231.  
  2232.  
  2233. ______________Figure_8:__Transport_Community_Definition________________
  2234.  
  2235.  
  2236. 19  MTA Selection
  2237.  
  2238.  
  2239. 19.1  Dealing with protocol mismatches
  2240.  
  2241. MTAs may operate over different stacks.  This means that some MTAs
  2242. cannot talk directly to each other.  Even where the protocols are the
  2243. same, there may be reasons why a direct connection is not possible.
  2244. An environment where there is full connectivity over a single stack is
  2245. known as a transport community [9].  The set of transport communities
  2246. supported by an MTA is specified by use of the TransportCommunity
  2247. attribute defined in Figure 8.  This is represented as a separate
  2248. attribute for the convenience of making routing decisions.
  2249.  
  2250. A community is identified by an object identifier, and so the
  2251. mechanism supports both well known and private communities.  A list of
  2252. object identifiers corresponding to well known communities is given in
  2253. Appendix B.
  2254.  
  2255. 19.2  Supported Protocols
  2256.  
  2257. It is important to know the protocol capabilities of an MTA. This is
  2258. done by the application context.  There are standard definitions for
  2259. the following 1988 protocols.
  2260.  
  2261.  
  2262.  o  P3 (with and without RTS, both user and MTS initiated)
  2263.  
  2264.  o  P7 (with and without RTS).
  2265.  
  2266.  o  P1 (various modes).  Strictly, this is the only one that matters
  2267.     for routing.
  2268.  
  2269. In order to support P1(1984) and P1(1988) in X.410 mode, application
  2270. contexts which define these protocols are given in Appendix C.  This
  2271.  
  2272.  
  2273. Kille                                 Expires:  January 1994   Page 42
  2274.  
  2275.  
  2276.  
  2277.  
  2278. INTERNET--DRAFT          MHS Routing using Directory         July 1993
  2279.  
  2280.  
  2281. context is for use in the directory only, and would never be exchanged
  2282. over the network.
  2283. For routing purposes, a message store which is not co-resident with an
  2284. MTA is represented as if it had a co-resident MTA and configured with
  2285. a single link to its supporting MTA.
  2286. In cases where the UA is involved in exchanges, the UA will be of
  2287. object class mhs-user-agent, and this will allow for appropriate
  2288. communication information to be registered.
  2289.  
  2290.  
  2291. 19.3  MTA Capability Restrictions
  2292.  
  2293. In addition to policy restrictions, described in Section 22, an MTA
  2294. may have capability restrictions.  The maximum size of MPDU is defined
  2295. by the standard attribute mhs-deliverable-content-length.
  2296.  
  2297. It may be useful to define other capability restrictions, for example
  2298. to enable routing of messages around MTAs with specific deficiencies.
  2299. It has been suggested using MTA capabilities as an optimised means of
  2300. expressing capabilities of all users associated with the MTA. This is
  2301. felt to be undesirable.
  2302. **** Add attribute which defines list of supported P1 extensions
  2303.  
  2304.  
  2305. 19.4  Subtree Capability Restrictions
  2306.  
  2307. In many cases, users of a subtree will share the same capabilities.
  2308. It is possible to specify this by use of attributes, as defined in
  2309. Figure 9.  This will allow for restrictions to be determined in cases
  2310. where there is no entry for the user or O/R Address.  This will be a
  2311. useful optimisation in cases where the UA capability information is
  2312. not available from the directory, either for policy reasons or because
  2313. it is not there.  This information may also be present in the domain
  2314. tree (RFC 822).
  2315.  
  2316. This shall be implemented as a collective attribute, so that it is
  2317. available to all entries in the subtree below the entry.  This can
  2318. also be used for default setting in the subtree.
  2319.  
  2320.  
  2321.  
  2322.  
  2323.  
  2324.  
  2325.  
  2326. Kille                                 Expires:  January 1994   Page 43
  2327.  
  2328.  
  2329.  
  2330.  
  2331. INTERNET--DRAFT          MHS Routing using Directory         July 1993
  2332.  
  2333. _______________________________________________________________________
  2334. restrictedSubtree OBJECT-CLASS
  2335.         SUBCLASS OF top
  2336.         MAY CONTAIN {
  2337.                 subtreeDeliverableContentLength,
  2338.                 subtreeDeliverableContentTypes,
  2339.                 subtreeDeliverableEITs }
  2340.         ::= oc-restricted-subtree
  2341.  
  2342. subtreeDeliverableContentLength ATTRIBUTE
  2343.         SUBTYPE OF mhs-deliverable-content-length                   10
  2344.         ::= at-subtree-deliverable-content-length
  2345.  
  2346. subtreeDeliverableContentTypes ATTRIBUTE
  2347.         SUBTYPE OF mhs-deliverable-content-types
  2348.         ::= at-subtree-deliverable-content-types
  2349.  
  2350. subtreeDeliverableEITs ATTRIBUTE
  2351.         SUBTYPE OF mhs-deliverable-eits
  2352.         ::= at-subtree-deliverable-eits
  2353.                                                                     20
  2354.  
  2355. ______________Figure_9:__Subtree_Capability_Restriction________________
  2356.  
  2357.  
  2358. 20  MTA Pulling Messages
  2359.  
  2360.  
  2361. Pulling messages between MTAs, typically by use of two way alternate,
  2362. is for bilateral agreement.  It is not the common case.  There are two
  2363. circumstances in which it can arise.
  2364.  
  2365. 1.  Making use of a connection that was opened to push messages.
  2366.  
  2367. 2.  Explicitly polling in order to pull messages
  2368.  
  2369.  
  2370. Attributes to support this are defined in Figure 10.  These attributes
  2371. indicate the capabilities of an MTA to pull messages, and allows a
  2372. list of polled MTAs to be specified.  If omitted, the normal case of
  2373. push-only is specified.
  2374.  
  2375.  
  2376.  
  2377.  
  2378.  
  2379. Kille                                 Expires:  January 1994   Page 44
  2380.  
  2381.  
  2382.  
  2383.  
  2384. INTERNET--DRAFT          MHS Routing using Directory         July 1993
  2385.  
  2386. _______________________________________________________________________
  2387. initiatorP1Mode ATTRIBUTE
  2388.     WITH ATTRIBUTE-SYNTAX P1Mode
  2389.     SINGLE VALUE
  2390.     ::= at-initiator-p1-mode
  2391.  
  2392. responderP1Mode ATTRIBUTE
  2393.     WITH ATTRIBUTE-SYNTAX P1Mode
  2394.     SINGLE VALUE
  2395.     ::= at-responder-p1-mode
  2396.                                                                     10
  2397. P1Mode ::= ENUMERATED {
  2398.     push-only(0),
  2399.     pull-only(1),
  2400.     twa(2) }
  2401.  
  2402. polledMTAs ATTRIBUTE
  2403.     WITH ATTRIBUTE-SYNTAX PolledMTAs
  2404.     := at-polled-mtas
  2405.  
  2406. PolledMTAs ::= SEQUENCE {                                           20
  2407.         mta DistinguishedName,
  2408.         poll-frequency INTEGER OPTIONAL --frequency in minutes
  2409.         }
  2410.  
  2411. *** Need to add control mechanism (list) for MTA being polled
  2412. *** to identify which MTAs can poll it
  2413.  
  2414. _____________________Figure_10:__Pulling_Messages______________________
  2415.  
  2416.  
  2417. 21  Security and Policy
  2418.  
  2419.  
  2420. 21.1  Finding the Name of the Calling MTA
  2421.  
  2422. A key issue for authentication is for the called MTA to find the name
  2423. of the calling MTA. This is needed for it to be able to look up
  2424. information on a bilateral agreement.
  2425.  
  2426. Where X.400(88) is used, the name is available as a distinguished name
  2427. from the AE-Title provided in the A-Associate.  For X.400(84), it will
  2428. not be possible to derive a global name from the bind.  The MTA Name
  2429. exchanged in the RTS Bind will provide a key into the private
  2430. bilateral agreement table.  Thus for X.400(1984) it will only be
  2431.  
  2432. Kille                                 Expires:  January 1994   Page 45
  2433.  
  2434.  
  2435.  
  2436.  
  2437. INTERNET--DRAFT          MHS Routing using Directory         July 1993
  2438.  
  2439.  
  2440. possible to have bilateral inbound links or no authentication of the
  2441. calling MTA.
  2442.  
  2443. Editor's Note CDC use a search here, as a mechanism to use a single
  2444.     table and an 88/84 independent access.  This should be considered
  2445.     for general adoption.  It appears to make the data model cleaner,
  2446.     possibly at the expense of some performance.
  2447.  
  2448.  
  2449. 21.2  Authentication
  2450.  
  2451. The levels of authentication required by an MTA will have an impact on
  2452. routing.  For example, if an MTA requires strong authentication, not
  2453. all MTAs will be able to route to it.  The attributes which define the
  2454. authentication requirements are defined in Figure 11.
  2455.  
  2456. The attributes specify authentication levels for the following cases:
  2457.  
  2458. Responder These are the checks that the responder will make on the
  2459.     initiator's credentials.
  2460.  
  2461. Initiator These are the checks that the initiator will make on the
  2462.     responders credentials.  Very often, no checks are needed ---
  2463.     establishing the connection is sufficient.
  2464.  
  2465. Responder Pulling These are responder checks when messages are
  2466.     pulled.  These will often be stronger than for pushing.
  2467.  
  2468. Initiator Pulling For completeness.
  2469.  
  2470.  
  2471. If an attribute is omitted, no checks are required.  If multiple
  2472. checks are required, then each of the relevant bits should be set.  If
  2473. there are alternative acceptable checks, then multiple values of the
  2474. attribute are used.
  2475. The values of the authentication requirements mean:
  2476.  
  2477.  
  2478. mta-name-present That an RTS level MTA parameter should be present
  2479.     for logging purposes.
  2480.  
  2481. aet-present That a distinguished name application entity title should
  2482.     be provided at the ACSE level
  2483.  
  2484.  
  2485. Kille                                 Expires:  January 1994   Page 46
  2486.  
  2487.  
  2488.  
  2489.  
  2490. INTERNET--DRAFT          MHS Routing using Directory         July 1993
  2491.  
  2492.  
  2493.  
  2494.  
  2495.  
  2496.  
  2497.  
  2498. _______________________________________________________________________
  2499. responderAuthenticationRequirements ATTRIBUTE
  2500.    WITH ATTRIBUTE-SYNTAX AuthenticationRequirements
  2501.    SINGLE VALUE
  2502.    ::= at-responder-authentication-requirements
  2503.  
  2504. initiatorAuthenticationRequirements ATTRIBUTE
  2505.    WITH ATTRIBUTE-SYNTAX AuthenticationRequirements
  2506.    SINGLE VALUE
  2507.    ::= at-initiator-authentication-requirements
  2508.                                                                     10
  2509. repsonderPullingAuthenticationRequirements ATTRIBUTE
  2510.    WITH ATTRIBUTE-SYNTAX AuthenticationRequirements
  2511.    SINGLE VALUE
  2512.    ::= at-responder-pulling-authentication-requirements
  2513.  
  2514. initiatorPullingAuthenticationRequirements ATTRIBUTE
  2515.    WITH ATTRIBUTE-SYNTAX AuthenticationRequirements
  2516.    SINGLE VALUE
  2517.    ::= at-initiator-pulling-authentication-requirements
  2518.                                                                     20
  2519. AuthenticationRequirements ::= BITSTRING {
  2520.     mta-name-present(0),
  2521.     aet-present(1),
  2522.     aet-valid(2),
  2523.     network-address(3),
  2524.     simple-authentication(4),
  2525.     strong-authentication(5),
  2526.     bilateral-agreement-needed(6)}
  2527.  
  2528.  
  2529. _______________Figure_11:__Authentication_Requirements_________________
  2530.  
  2531.  
  2532.  
  2533.  
  2534.  
  2535.  
  2536.  
  2537.  
  2538. Kille                                 Expires:  January 1994   Page 47
  2539.  
  2540.  
  2541.  
  2542.  
  2543. INTERNET--DRAFT          MHS Routing using Directory         July 1993
  2544.  
  2545.  
  2546. aet-valid As for aet-present, and that the AET be registered in the
  2547.     directory.  This may be looked up as a part of the validation
  2548.     process.  If mta-name-present is set, the RTS value of mta and
  2549.     password must correspond to those registered in the directory.
  2550.  
  2551. network-address This can only be used for the responder.  The AET
  2552.     must be looked up in the directory, and the
  2553.     callingPresentationAddress attribute matched against the calling
  2554.     address.  This must match exactly at the network level.  The
  2555.     validity of selectors will be matched according to the
  2556.     callingSelectorValidity attribute.
  2557.  
  2558. simple-authentication All MTA and password parameters needed for
  2559.     simple authentication must be used.  This will usually be in
  2560.     conjunction with a bilateral agreement.
  2561.  
  2562. strong-authentication Use of strong authentication.
  2563.  
  2564. bilateral-agreement-needed This means that this MTA will only accept
  2565.     connections in conjunction with a bilateral agreement.  This link
  2566.     cannot be used unless such an agreement exists.
  2567.  
  2568. These attributes may also be used to specify UA/MTA authentication
  2569. policy.  They may be resident in the UA entry in environments where
  2570. this information cannot be modified by the user.  Otherwise, it will
  2571. be present in an MTA table (represented in the directory).
  2572.  
  2573. An MTA could choose to have different authentication levels related to
  2574. different policies (Section 22).  This is seen as too complex, and so
  2575. they are kept independent.  The equivalent function can always be
  2576. achieved by using multiple Application Entities with the application
  2577. process.
  2578.  
  2579. 21.3  Authentication Information
  2580.  
  2581. This section specifies connection information needed by P1.  This is
  2582. essentially RTS parameterisation needed for authentication.  This is
  2583. defined in Figure 12.  Confidential bilateral information is implied
  2584. by these attributes, and this will be held in the bilateral
  2585. information agreement.  This should have appropriate access control
  2586. applied.  Note that in some cases, MTA information will be split
  2587. across a private and public entry.
  2588.  
  2589.  
  2590.  
  2591. Kille                                 Expires:  January 1994   Page 48
  2592.  
  2593.  
  2594.  
  2595.  
  2596. INTERNET--DRAFT          MHS Routing using Directory         July 1993
  2597.  
  2598.  
  2599. _______________________________________________________________________
  2600.  
  2601. respondingRTSCredentials ATTRIBUTE
  2602.         WITH ATTRIBUTE-SYNTAX RTSCredentials
  2603.         SINGLE VALUE
  2604.         ::= at-responding-rts-credentials
  2605.  
  2606.  
  2607. initiatingRTSCredentials ATTRIBUTE
  2608.         WITH ATTRIBUTE-SYNTAX RTSCredentials
  2609.         SINGLE VALUE                                                10
  2610.         ::= at-initiating-rts-credentials
  2611.  
  2612.  
  2613. RTSCredentials ::= SEQUENCE {
  2614.         request [0] MTAandPassword OPTIONAL,
  2615.         response [1] MTAandPassword OPTIONAL }
  2616.  
  2617.  
  2618. MTAandPassword ::= SEQUENCE {
  2619.         MTAName,                                                    20
  2620.         Password }              -- MTAName and Password
  2621.                                 -- from X.411
  2622.  
  2623.  
  2624. callingPresentationAddress ATTRIBUTE
  2625.         WITH ATTRIBUTE-SYNTAX PresentationAddress
  2626.         MULTI VALUE
  2627.         ::= at-calling-presentation-address
  2628.  
  2629. callingSelectorValidity ATTRIBUTE                                   30
  2630.         WITH ATTRIBUTE-SYNTAX CallingSelectorValidity
  2631.         SINGLE VALUE
  2632.         ::= at-calling-selector-validity
  2633.  
  2634. CallingSelectorValidity ::= ENUMERATED {
  2635.         all-selectors-fixed(0),
  2636.         tsel-may-vary(1),
  2637.         all-selectors-may-vary(2) }
  2638.  
  2639.  
  2640. ______________Figure_12:__MTA_Authentication_Parameters________________
  2641.  
  2642.  
  2643.  
  2644. Kille                                 Expires:  January 1994   Page 49
  2645.  
  2646.  
  2647.  
  2648.  
  2649. INTERNET--DRAFT          MHS Routing using Directory         July 1993
  2650.  
  2651.  
  2652. The parameters are:
  2653.  
  2654. Initiating Credentials The credentials to be used when the local MTA
  2655.     initiates the association.  It gives the credentials to insert
  2656.     into the request, and those expected in the response.
  2657.  
  2658. Responding Credentials The credentials to be used when the remote MTA
  2659.     initiates the association.  It gives the credential expected in
  2660.     the request, and those to be inserted into the response.
  2661.  
  2662. Remote Presentation Address Valid presentation addresses, which the
  2663.     remote MTA may connect from.
  2664.  
  2665.  
  2666. If an MTA/Password pair is omitted.  The MTA should default to the
  2667. local MTA Name, and the password to a zero length OCTET STRING.
  2668.  
  2669. Note: It may be useful to add more information here relating to
  2670.     parameters required for strong authentication.
  2671.  
  2672.  
  2673. 22  Policy and Authorisation
  2674.  
  2675. 22.1  Simple MTA Policy
  2676.  
  2677.  
  2678. The routing trees will generally be configured in order to identify
  2679. MTAs which will route to the destination.  A simple means is
  2680. identified to specify an MTA's policy.  This is defined in Figure 13.
  2681. The multi-valued attribute gives a set of policies which the MTA will
  2682. route.  O/R Addresses are represented by a prefix, which identifies a
  2683. subtree.  A distinguished name encoding of O/R Address is used.  There
  2684. are three components:
  2685.  
  2686.  
  2687. from This gives a set of O/R addresses which are granted permission
  2688.     by this attribute value.  If omitted, ``all'' is implied.
  2689.  
  2690. to This gives the set of acceptable destinations.  If omitted,
  2691.     ``all'' is implied.
  2692.  
  2693. from-excludes This defines (by prefix) subtrees of the O/R address
  2694.     tree which are explicitly excluded from the ``from'' definition.
  2695.     If omitted, there are no exclusions.
  2696.  
  2697. Kille                                 Expires:  January 1994   Page 50
  2698.  
  2699.  
  2700.  
  2701.  
  2702. INTERNET--DRAFT          MHS Routing using Directory         July 1993
  2703.  
  2704. _______________________________________________________________________
  2705. mTAWillRoute ATTRIBUTE
  2706.     WITH ATTRIBUTE-SYNTAX MTAWillRoute
  2707.     ::= at-mta-will-route
  2708.  
  2709. MTAWillRoute ::= SEQUENCE {
  2710.         from [0]        SET OF ORAddressPrefix OPTIONAL,
  2711.         to [1]          SET OF ORAddressPrefix OPTIONAL,
  2712.         from-excludes [2]       SET OF ORAddressPrefix OPTIONAL,
  2713.         to-excludes [3]         SET OF ORAddressPrefix OPTIONAL }
  2714.                                                                     10
  2715. ORAddressPrefix ::= DistinguishedName
  2716.  
  2717. _____________Figure_13:__Simple_MTA_Policy_Specification_______________
  2718.  
  2719.  
  2720. to-excludes This defines (by prefix) subtrees of the O/R address tree
  2721.     which are explicitly excluded from the ``to'' definition.  If
  2722.     omitted, there are no exclusions.
  2723.  
  2724.  
  2725. This simple policy should suffice for most cases.  In particular, it
  2726. gives sufficient information for most real situations where a policy
  2727. choice is forced.
  2728. This simple prefixing approach does not deal explicitly with alias
  2729. dereferencing.  The prefixes refer to O/R addresses where aliases have
  2730. been dereferenced.  To match against these prefixes, O/R addresses
  2731. being matched need to be ``normalised'' by being looked up in the
  2732. directory to resolve alias values.  If the lookup fails, it should be
  2733. assumed that the provided address is already normalised.  This means
  2734. that policy may be misinterpreted for parts of the DIT not referenced
  2735. in the directory.
  2736.  
  2737. The originator refers to the MTS originator, and the recipient to the
  2738. MTS recipient, following any list expansion or redirect.
  2739.  
  2740. 22.2  Complex MTA Policy
  2741.  
  2742. MTAs will generally have a much more complex policy mechanism, such as
  2743. that provided by PP [14].  Representing this as a part of the routing
  2744. decision does not seem worthwhile at present.  Some of the issues
  2745. which need to be tackled are:
  2746.  
  2747.  
  2748.  
  2749.  
  2750. Kille                                 Expires:  January 1994   Page 51
  2751.  
  2752.  
  2753.  
  2754.  
  2755. INTERNET--DRAFT          MHS Routing using Directory         July 1993
  2756.  
  2757.  
  2758.  o  Use of charging and non-charging nets
  2759.  
  2760.  o  Policy dependent on message size
  2761.  
  2762.  o  Different policy for delivery reports.
  2763.  
  2764.  o  Policy dependent on attributes of the originator or
  2765.     recipient(e.g., mail from students)
  2766.  
  2767.  o  Content type and encoded information types
  2768.  
  2769.  o  The path which the message has traversed to reach the MTA
  2770.  
  2771.  o  MTA bilateral agreements
  2772.  
  2773.  o  Pulling messages
  2774.  
  2775.  o  Costs.  This sort of policy information may also be for
  2776.     information only.
  2777.  
  2778. Policies relating to submission do not need to be public.  They can be
  2779. private to the MTA.
  2780.  
  2781.  
  2782. 23  Redirects
  2783.  
  2784. There is a need to specify redirects in the Directory.  This will be
  2785. done at the O/R Address level (i.e., in a routing tree).  This will be
  2786. useful for alternate names where an equivalent name (synonym) defined
  2787. by an alias is not natural.  An example where this might be
  2788. appropriate is to redirect mail to a new O/R address where a user had
  2789. changed organisation.  The definitions are given in Figure 14.
  2790.  
  2791. Mandatory redirects are specified by the mandatoryRedirect attribute.
  2792. A filtered redirect is provided, to allow small messages, large
  2793. messages, or messages containing specific EITs or content to be
  2794. redirected.  Message size is measured in kBytes.  Where multiple
  2795. elements are contained in the FilteredRedirect structure, they are
  2796. treated as having a ``logical or'' relationship.
  2797. When a delivery report is sent to an address which would be
  2798. redirected, X.400 would ignore the redirect.  This means that every
  2799. O/R address would need to have a valid means of delivery.  This would
  2800. seem to be awkward to manage.  Therefore, the redirect should be
  2801.  
  2802.  
  2803. Kille                                 Expires:  January 1994   Page 52
  2804.  
  2805.  
  2806.  
  2807.  
  2808. INTERNET--DRAFT          MHS Routing using Directory         July 1993
  2809.  
  2810. _______________________________________________________________________
  2811. mandatoryRedirect ATTRIBUTE
  2812.         WITH ATTRIBUTE-SYNTAX distinguishedNameSyntax
  2813.         SINGLE VALUE
  2814.         ::= at-mandatory-redirect
  2815.  
  2816. filteredRedirect ATTRIBUTE
  2817.         WITH ATTRIBUTE-SYNTAX FilteredRedirect
  2818.         SINGLE VALUE
  2819.         ::= at-filtered-redirect
  2820.                                                                     10
  2821. FilteredRedirect ::= SEQUENCE {
  2822.         redirect-to DistinguishedName,
  2823.         SEQUENCE {
  2824.                 min-size [1] INTEGER,
  2825.                 max-size [2] INTEGER,
  2826.                 content [3] ContentType,
  2827.                 eit [4] ExternalEncodedInformationType }
  2828.         }
  2829.  
  2830.                                                                     20
  2831.  
  2832.  
  2833. ___________________Figure_14:__Redirect_Definition_____________________
  2834.  
  2835.  
  2836. followed, and the delivery report delivered to the redirected address.
  2837.  
  2838. These reidrects are handled directly by the MTA. Redirects can also be
  2839. initiated by the UA, for example in the context of a P7 interaction.
  2840.  
  2841.  
  2842. 24  Underspecified O/R Addresses
  2843.  
  2844. X.400 requires that some underspecified O/R Addresses are handled in a
  2845. given way.  Where an underspecified O/R Address should be treated as
  2846. if it were another O/R Address, an alias should be used.  If the O/R
  2847. Address should be rejected as ambiguous, and entry should be created
  2848. in the DIT, and forced non-delivery specified for this reason.
  2849.  
  2850.  
  2851.  
  2852.  
  2853.  
  2854.  
  2855.  
  2856. Kille                                 Expires:  January 1994   Page 53
  2857.  
  2858.  
  2859.  
  2860.  
  2861. INTERNET--DRAFT          MHS Routing using Directory         July 1993
  2862.  
  2863. _______________________________________________________________________
  2864. nonDeliveryInfo ATTRIBUTE
  2865.         WITH ATTRIBUTE SYNTAX NonDeliveryReason
  2866.         ::= at-non-delivery-info
  2867.  
  2868. NonDeliveryReason ::= SEQUENCE {
  2869.         reason INTEGER (0..ub-reason-codes),
  2870.         diagnostic INTEGER (0..ub-diagnostic-codes),
  2871.         supplementaryInfo PrintableString }
  2872.  
  2873. _________________Figure_15:__Non_Delivery_Information__________________
  2874.  
  2875.  
  2876. 25  Non Delivery
  2877.  
  2878.  
  2879. It is possible for a manager to define an address to non-deliver with
  2880. specified reason and diagnostic codes.  This might be used for a range
  2881. of management purposes.  The attribute to do this is defined in
  2882. Figure 15.
  2883.  
  2884.  
  2885. 26  Bad Addresses
  2886.  
  2887. If there is a bad address, it is desirable to do a directory search to
  2888. find alternatives.  This is a helpful user service and should be
  2889. provided.  This function is invoked after address checking has failed,
  2890. and where this is no user supplied alternate recipient.  This function
  2891. would be an MTA-chosen alternative to administratively assigned
  2892. alternate recipient.
  2893. Attributes to support handling of bad addresses are defined in
  2894. Figure 16.  The attributes are:
  2895.  
  2896.  
  2897. badAddressSearchPoint This gives the point (or list of points) from
  2898.     which to search.
  2899.  
  2900. badAddressSearchAttributes This gives the set of attribute types to
  2901.     search on.  The default is common name.
  2902.  
  2903. Searches are always single level, and always use approximate match.
  2904. If a small number of matches are made, this is returned to the
  2905. originator by use of the per recipient AlternativeAddresssInformation
  2906. in the delivery report (DR). This should be marked non-critical, so
  2907.  
  2908.  
  2909. Kille                                 Expires:  January 1994   Page 54
  2910.  
  2911.  
  2912.  
  2913.  
  2914. INTERNET--DRAFT          MHS Routing using Directory         July 1993
  2915.  
  2916. _______________________________________________________________________
  2917. badAddressSearchPoint ATTRIBUTE
  2918.         WITH ATTRIBUTE-SYNTAX distinguishedNameSyntax
  2919.         ::= at-bad-address-search-point
  2920.  
  2921. badAddressSearchAttributes ATTRIBUTE
  2922.         WITH ATTRIBUTE-SYNTAX AttributeType
  2923.         ::= at-bad-address-search-attributes
  2924.  
  2925. alternativeAddressInformation EXTENSION
  2926.         AlternativeAddressInformation                               10
  2927.         ::= id-alternative-address-information
  2928.  
  2929. AlternativeAddressInformation ::= SET OF SEQUENCE {
  2930.         distinguished-name DistinguishedName OPTIONAL,
  2931.         or-address ORAddress OPTIONAL,
  2932.         other-useful-info SET OF Attribute }
  2933.  
  2934. ___________________Figure_16:__Bad_Address_Pointers____________________
  2935.  
  2936.  
  2937. that it will not cause the DR to be discarded.  This attribute allows
  2938. the Distinguished Name and O/R Address of possible alternate
  2939. recipients to be returned with the delivery report.  There is also the
  2940. possibility to attach extra information in the form of directory
  2941. attributes.  Typically this might be used to return attributes of the
  2942. entry which were matched in the search.  A summary of the information
  2943. should also be returned using the delivery report supplementary
  2944. information filed (e.g., ``your message could not be delivered to
  2945. smith, try J. Smith or P. Smith''), so that the information is
  2946. available to user agents not supporting this extension.  Note the
  2947. length restriction of this field is 256
  2948. (ub-supplementary-info-length).
  2949.  
  2950. If the directory search fails, or there are no matches returned, a
  2951. delivery report should be returned as if this extra check had not been
  2952. made.
  2953.  
  2954. Note: It might be useful to allow control of search type, and also
  2955.     single level vs subtree in future versions.
  2956.  
  2957.  
  2958.  
  2959.  
  2960.  
  2961.  
  2962. Kille                                 Expires:  January 1994   Page 55
  2963.  
  2964.  
  2965.  
  2966.  
  2967. INTERNET--DRAFT          MHS Routing using Directory         July 1993
  2968.  
  2969.  
  2970. 27  Submission
  2971.  
  2972. A message may be submitted with Distinguished Name only.  If the MTA
  2973. to which the message is submitted supports this service, this section
  2974. describes how the mapping is done.
  2975.  
  2976.  
  2977. 27.1  Normal Derivation
  2978.  
  2979. The Distinguished Name is looked up to find the attribute
  2980. mhs-or-addresses.  If the attribute is single value, it is
  2981. straightforward.  If there are multiple values, one O/R address should
  2982. be selected at random.
  2983.  
  2984. 27.2  Roles and Groups
  2985.  
  2986.  
  2987. Some support for roles is given.  If there is no O/R address, and the
  2988. entry is of object class role, then the roleOccupant attribute should
  2989. be dereferenced, and the message submitted to each of the role
  2990. occupants.  Similarly, if the entry is of object class group, where
  2991. the groupMember attribute is used.
  2992.  
  2993.  
  2994. 28  Access Units
  2995.  
  2996. Attributes needed for support of Access Units are defined in
  2997. Figure 17.
  2998. The attributes defined are:
  2999.  
  3000.  
  3001. localAccessUnit This defines the list of access units supported by
  3002.     the MTA.
  3003.  
  3004. accessUnitsUsed This defines which access units are used by the MTA,
  3005.     giving the type and MTA. An O/R Address filter is provided to
  3006.     control which access unit is used for a given recipient.  For a
  3007.     filter to match an address, all attributes specificed in the
  3008.     filter must match the given address.  This is specified as an O/R
  3009.     Address, so that routing to access units can be filtered on the
  3010.     basis of attributes not mapped onto the directory (e.g., postal
  3011.     attributes).  Where a remote MTA is used, it may be necessary to
  3012.     use source routing.
  3013.  
  3014.  
  3015. Kille                                 Expires:  January 1994   Page 56
  3016.  
  3017.  
  3018.  
  3019.  
  3020. INTERNET--DRAFT          MHS Routing using Directory         July 1993
  3021.  
  3022. _______________________________________________________________________
  3023. localAccessUnit ATTRIBUTE
  3024.         WITH ATTRIBUTE-SYNTAX AccessUnitType
  3025.         ::= at-local-access-unit
  3026.  
  3027. AccessUnitType ::= ENUMERATED {
  3028.         fax (1),
  3029.         physical-delivery (2),
  3030.         teletex (3),
  3031.         telex (4) }
  3032.                                                                     10
  3033. accessUnitsUsed ATTRIBUTE
  3034.         WITH SYNTAX
  3035.         SelectedAccessUnit
  3036.         ::= at-access-units-used
  3037.  
  3038. SelectedAccessUnit ::= SEQUENCE {
  3039.         type AccessUnitType,
  3040.         providing-MTA DistinguishedName,
  3041.         filter SET OF ORAddress OPTIONAL }
  3042.                                                                     20
  3043. *** update to provide a more general filtering mechanism
  3044.  
  3045. __________________Figure_17:__Access_Unit_Attributes___________________
  3046.  
  3047.  
  3048.     Note: This mechanism might be used to replace the routefilter
  3049.         mechanism of the MTS routing.
  3050.  
  3051.  
  3052. 29  The Overall Routing Algorithm
  3053.  
  3054.  
  3055. Having provided all the pieces, a summary of how routing works can be
  3056. given.  The very top level of the routing algorithm is:
  3057.  
  3058. 1.  Route the message according to the protocol by which it arrives
  3059.     (RFC 822 or X.400).  In the case of RFC 822, this should follow
  3060.     [13].
  3061.  
  3062. 2.  If this fails, and gatewaying is supported, map the address and
  3063.     attempt to route according to the other protocol using [12].
  3064.  
  3065.  
  3066.  
  3067.  
  3068. Kille                                 Expires:  January 1994   Page 57
  3069.  
  3070.  
  3071.  
  3072.  
  3073. INTERNET--DRAFT          MHS Routing using Directory         July 1993
  3074.  
  3075.  
  3076. 29.1  X.400 Routing
  3077.  
  3078. The core of the X.400 routing is described in Section 11.  A sequence
  3079. of routing trees are followed.  As nodes of the routing tree are
  3080. matched, a set of MTAs will be passed upwards for evaluation.  If all
  3081. of these are rejected, the trees are followed further2.  A set of MTAs
  3082. is evaluated on the following criteria:
  3083.  
  3084.  
  3085.  o  If an MTA is the local MTA, deliver locally.
  3086.  
  3087.  o  Supported protocols.  The MTA must support a protocol that the
  3088.     current MTA supports3, as described in Section 19.2.
  3089.  
  3090.  o  The protocols must share a common transport community, as
  3091.     described in Section 19.1.
  3092.  
  3093.  o  There must be no capability restrictions in the MTA which prevents
  3094.     transfer of the current message, as described in Section 19.3.
  3095.  
  3096.  o  There must be no policy restrictions in the MTA which prevents
  3097.     transfer of the current message, as described in Section 22.
  3098.  
  3099.  o  The authentication requirements of the MTA must be met by the
  3100.     local MTA, as described in Section 21.2.
  3101.  
  3102.  o  If the authentication (Section 21.2) indicates that a bilateral
  3103.     agreement is present, the MTA must be listed in the local set of
  3104.     bilateral agreements, as described in Section 18.
  3105.  
  3106.  o  In cases where the recipient UA's capabilities can be determined,
  3107.     there should either be no mismatch, or there must be an ability to
  3108.     use local or remote reformatting capabilities, as described in
  3109.     **** ref conversion I-D
  3110. ----------------------------
  3111.     2. It might be argued that the trees should be followed to find
  3112. alternate routes in the case that only one MTA is acceptable.  This is
  3113. not proposed.
  3114.     3. Note that this could be an RFC 822 protocol, as well as an
  3115. X.400 protocol.
  3116.  
  3117.  
  3118.  
  3119.  
  3120.  
  3121. Kille                                 Expires:  January 1994   Page 58
  3122.  
  3123.  
  3124.  
  3125.  
  3126. INTERNET--DRAFT          MHS Routing using Directory         July 1993
  3127.  
  3128.  
  3129. 29.2  Pseudo Code
  3130.  
  3131. This section describes the routing algorithm in pseudo-code.
  3132. ***** tbs
  3133.  
  3134.  
  3135. 29.3  Examples
  3136.  
  3137. to be supplied
  3138.  
  3139.  
  3140. 30  Performance
  3141.  
  3142. *** notes on the overall performance of the scheme, and notes on
  3143. implementation techniques to go faster
  3144.  
  3145.  
  3146. 31  Acknowledgements
  3147.  
  3148.  
  3149. This ack section covers the whole document series.
  3150. *** tbs
  3151. This work was part funded by the COSINE Paradise project.
  3152.  
  3153.  
  3154. References
  3155.  
  3156.  [1] The Directory --- overview of concepts, models and services,
  3157.      December 1988. CCITT X.500 Series Recommendations.
  3158.  
  3159.  [2] J.N. Chiappa. A new IP routing and addressing architecture,
  3160.      1991. Internet Draft.
  3161.  
  3162.  [3] A. Consael, M. Tschicholz, O. Wenzel, K. Bonacker, and M. Busch.
  3163.      DFN-Directory nutzung durch MHS, April 1990. GMD Report.
  3164.  
  3165.  [4] P. Dick-Lauder, R.J. Kummerfeld, and K.R. Elz. ACSNET - the
  3166.      australian alternative to UUCP. In EUUG Conference, Paris, pages
  3167.      60--69, April 1985.
  3168.  
  3169.  [5] U. Eppenberger. Routing coordination for an X.400 MHS service
  3170.      within a multi protocol environment, October 1991. Version 1.0,
  3171.      RARE WG1 Document.
  3172.  
  3173.  
  3174. Kille                                 Expires:  January 1994   Page 59
  3175.  
  3176.  
  3177.  
  3178.  
  3179. INTERNET--DRAFT          MHS Routing using Directory         July 1993
  3180.  
  3181.  
  3182.  [6] K.E. Jordan. Using X.500 directory services in support of X.400
  3183.      routing and address mapping, November 1991. 3rd draft, IETF WG.
  3184.  
  3185.  [7] S.E. Kille. MHS use of directory service for routing.  In IFIP
  3186.      6.5 Conference on Message Handling, Munich, pages 157--164.
  3187.      North Holland Publishing, April 1987.
  3188.  
  3189.  [8] S.E. Kille. Topology and routing for MHS.  COSINE Specification
  3190.      Phase 7.7, RARE, 1988.
  3191.  
  3192.  [9] S.E. Kille. Encoding network addresses to support operation over
  3193.      non-OSI lower layers. Request for Comments RFC 1277, Department
  3194.      of Computer Science, University College London, November 1991.
  3195.  
  3196. [10] S.E. Kille. A string representation of distinguished name.
  3197.      Request for Comments in preparation, Department of Computer
  3198.      Science, University College London, January 1992.
  3199.  
  3200. [11] S.E. Kille. Representing the O/R Address hierarchy in the
  3201.      directory information tree, July 1993. Internet Draft.
  3202.  
  3203. [12] S.E. Kille. Use of the directory to support mapping between
  3204.      X.400 and RFC 822 addresses, July 1993. Internet Draft.
  3205.  
  3206. [13] S.E. Kille. Use of the directory to support routing for RFC 822
  3207.      and related protocols, July 1993. Internet Draft.
  3208.  
  3209. [14] S.E. Kille and J.P. Onions. The PP manual, December 1991.
  3210.      Version 6.0.
  3211.  
  3212. [15] P. Lauder, R.J. Kummerfeld, and A. Fekete. Hierarchical network
  3213.      routing. In Tricomm 91, 1991.
  3214.  
  3215. [16] CCITT recommendations X.400 / ISO 10021, April 1988. CCITT
  3216.      SG 5/VII / ISO/IEC JTC1, Message Handling:  System and Service
  3217.      Overview.
  3218.  
  3219. [17] Zen and the ART of navigating through the dark and murky regions
  3220.      of the message transfer system:  Working document on MTS
  3221.      routing, September 1991. ISO SC 18 SWG Messaging.
  3222.  
  3223.  
  3224.  
  3225.  
  3226.  
  3227. Kille                                 Expires:  January 1994   Page 60
  3228.  
  3229.  
  3230.  
  3231.  
  3232. INTERNET--DRAFT          MHS Routing using Directory         July 1993
  3233.  
  3234.  
  3235. 32  Security Considerations
  3236.  
  3237. Security considerations are not discussed in this INTERNET--DRAFT .
  3238.  
  3239.  
  3240. 33  Author's Address
  3241.  
  3242.     Steve Kille
  3243.     ISODE Consortium
  3244.     PO Box 505
  3245.     London
  3246.     SW11 1DX
  3247.     England
  3248.  
  3249.  
  3250.     Phone:  +44-71-223-4062
  3251.  
  3252.     EMail:  S.Kille@ISODE.COM
  3253.  
  3254.  
  3255.     DN: CN=Steve Kille,
  3256.     O=ISODE Consortium, C=GB
  3257.  
  3258.     UFN: S. Kille, ISODE Consortium, GB
  3259.  
  3260.  
  3261.  
  3262.  
  3263.  
  3264.  
  3265.  
  3266.  
  3267.  
  3268.  
  3269.  
  3270.  
  3271.  
  3272.  
  3273.  
  3274.  
  3275.  
  3276.  
  3277.  
  3278.  
  3279.  
  3280. Kille                                 Expires:  January 1994   Page 61
  3281.  
  3282.  
  3283.  
  3284.  
  3285. INTERNET--DRAFT          MHS Routing using Directory         July 1993
  3286.  
  3287.  
  3288. A  Object Identifier Assignment
  3289.  
  3290.  
  3291. _______________________________________________________________________
  3292. mhs-ds OBJECT-IDENTIFIER ::= {iso(1) org(3) dod(6) internet(1) private(4)
  3293.           enterprises(1) isode-consortium (453) mhs-ds (7)}
  3294.  
  3295. routing OBJECT IDENTIFIER ::= {mhs-ds 3}
  3296.  
  3297. oc OBJECT IDENTIFIER ::= {routing 1}
  3298. at OBJECT IDENTIFIER ::= {routing 2}
  3299. id OBJECT IDENTIFIER ::= {routing 3}
  3300.  
  3301.                                                                     10
  3302. oc-mta OBJECT IDENTIFIER ::= {oc 1}
  3303. oc-mta-bilateral-table-entry OBJECT IDENTIFIER ::= {oc 2}
  3304. oc-routing-information OBJECT IDENTIFIER ::= {oc 3}
  3305. oc-restricted-subtree OBJECT IDENTIFIER ::= {oc 4}
  3306. oc-routed-ua OBJECT IDENTIFIER ::= {oc 5}
  3307. oc-routing-tree-root OBJECT IDENTIFIER ::= {oc 6}
  3308. oc-mta-application-process OBJECT IDENTIFIER ::= {oc 7}
  3309.  
  3310. at-access-md OBJECT IDENTIFIER ::= {at 1}
  3311. at-access-units-used OBJECT IDENTIFIER ::= {at 2}                   20
  3312. at-subtree-information OBJECT IDENTIFIER ::= {at 3}
  3313. at-bad-address-search-attributes OBJECT IDENTIFIER ::= {at 4}
  3314. at-bad-address-search-point OBJECT IDENTIFIER ::= {at 5}
  3315.  
  3316. at-calling-selector-validity OBJECT IDENTIFIER ::= {at 7}
  3317.  
  3318. at-filtered-redirect OBJECT IDENTIFIER ::= {at 38}
  3319. at-global-domain-id OBJECT IDENTIFIER ::= {at 10}
  3320. at-initiating-rts-credentials OBJECT IDENTIFIER ::= {at 11}
  3321. at-initiator-authentication-requirements OBJECT IDENTIFIER ::= {at 12}30
  3322. at-initiator-p1-mode OBJECT IDENTIFIER ::= {at 13}
  3323. at-initiator-pulling-authentication-requirements OBJECT IDENTIFIER ::= {at 14}
  3324. at-local-access-unit OBJECT IDENTIFIER ::= {at 15}
  3325. at-mandatory-redirect OBJECT IDENTIFIER ::= {at 16}
  3326. at-mta-info OBJECT IDENTIFIER ::= {at 40}
  3327. at-mta-name OBJECT IDENTIFIER ::= {at 19}
  3328.  
  3329. at-mta-will-route OBJECT IDENTIFIER ::= {at 21}
  3330. at-calling-presentation-address OBJECT IDENTIFIER ::= {at 22}
  3331.  
  3332.  
  3333. Kille                                 Expires:  January 1994   Page 62
  3334.  
  3335.  
  3336.  
  3337.  
  3338. INTERNET--DRAFT          MHS Routing using Directory         July 1993
  3339.  
  3340.  
  3341. at-responder-authentication-requirements OBJECT IDENTIFIER ::= {at 23}40
  3342. at-responder-p1-mode OBJECT IDENTIFIER ::= {at 24}
  3343. at-responder-pulling-authentication-requirements OBJECT IDENTIFIER ::= {at 25}
  3344. at-responding-rts-credentials OBJECT IDENTIFIER ::= {at 26}
  3345. at-routing-failure-action OBJECT IDENTIFIER ::= {at 27}
  3346. at-routing-filter OBJECT IDENTIFIER ::= {at 28}
  3347. at-routing-tree-list OBJECT IDENTIFIER ::= {at 29}
  3348. at-subtree-deliverable-content-length OBJECT IDENTIFIER ::= {at 30}
  3349. at-subtree-deliverable-content-types OBJECT IDENTIFIER ::= {at 31}
  3350. at-subtree-deliverable-eits OBJECT IDENTIFIER ::= {at 32}
  3351. at-supporting-mta OBJECT IDENTIFIER ::= {at 33}                     50
  3352. at-transport-community OBJECT IDENTIFIER ::= {at 34}
  3353. at-user-name OBJECT IDENTIFIER ::= {at 35}
  3354. at-non-delivery-info OBJECT IDENTIFIER ::= {at 36}
  3355. at-polled-mtas  OBJECT IDENTIFIER ::= {at 37}
  3356. at-bilateral-table OBJECT IDENTIFIER {at 41}
  3357.  
  3358. id-alternative-address-information OBJECT IDENTIFIER ::= {id 1}
  3359.  
  3360.  
  3361.                                                                     60
  3362.  
  3363. _______________Figure_18:__Object_Identifier_Assignment________________
  3364.  
  3365.  
  3366.  
  3367.  
  3368.  
  3369.  
  3370.  
  3371.  
  3372.  
  3373.  
  3374.  
  3375.  
  3376.  
  3377.  
  3378.  
  3379.  
  3380.  
  3381.  
  3382.  
  3383.  
  3384.  
  3385.  
  3386. Kille                                 Expires:  January 1994   Page 63
  3387.  
  3388.  
  3389.  
  3390.  
  3391. INTERNET--DRAFT          MHS Routing using Directory         July 1993
  3392.  
  3393.  
  3394. B  Community Identifier Assignments
  3395.  
  3396.  
  3397. _______________________________________________________________________
  3398. ts-communities OBJECT-IDENTIFIER ::= {iso(1) org(3) dod(6) internet(1) private(4)
  3399.           enterprises(1) isode-consortium (453) ts-communities (4)}
  3400.  
  3401.  
  3402. tc-cons OBJECT IDENTIFIER ::= {ts-communities 1}        -- OSI CONS
  3403. tc-clns OBJECT IDENTIFIER ::= {ts-communities 2}        -- OSI CLNS
  3404. tc-internet OBJECT IDENTIFIER ::= {ts-communities 3}    -- Internet + RFC 1006
  3405. tc-int-x25 OBJECT IDENTIFIER ::= {ts-communities 4}     -- International X.25
  3406.                                                         -- Without CONS
  3407. tc-ixi OBJECT IDENTIFIER ::= {ts-communities 5}         -- IXI (Europe)10
  3408. tc-janet OBJECT IDENTIFIER ::= {ts-communities 6}       -- Janet (UK)
  3409.  
  3410.  
  3411. ____Figure_19:__Transport_Community_Object_Identifier_Assignments______
  3412.  
  3413.  
  3414.  
  3415.  
  3416.  
  3417.  
  3418.  
  3419.  
  3420.  
  3421.  
  3422.  
  3423.  
  3424.  
  3425.  
  3426.  
  3427.  
  3428.  
  3429.  
  3430.  
  3431.  
  3432.  
  3433.  
  3434.  
  3435.  
  3436.  
  3437.  
  3438.  
  3439. Kille                                 Expires:  January 1994   Page 64
  3440.  
  3441.  
  3442.  
  3443.  
  3444. INTERNET--DRAFT          MHS Routing using Directory         July 1993
  3445.  
  3446.  
  3447. C  Protocol Identifier Assignments
  3448.  
  3449.  
  3450. _______________________________________________________________________
  3451. mail-protocol OBJECT-IDENTIFIER ::= {iso(1) org(3) dod(6) internet(1) private(4)
  3452.           enterprises(1) isode-consortium (453) mail-protocol (5)}
  3453.  
  3454. ac-p1-1984 OBJECT IDENTIFIER ::= {mail-protocol 1}      -- p1(1984)
  3455. ac-p1-1988-x410 OBJECT IDENTIFIER ::= {mail-protocol 1} -- p1(1988) in X.410 mode
  3456. ac-smtp  OBJECT IDENTIFIER ::= {mail-protocol 2}        -- SMTP
  3457. ac-uucp OBJECT IDENTIFIER ::= {mail-protocol 3}         -- UUCP Mail
  3458. ac-jnt-mail OBJECT IDENTIFIER ::= {mail-protocol 4}     -- JNT Mail (UK)
  3459.  
  3460.  
  3461. __________Figure_20:__Protocol_Object_Identifier_Assignments___________
  3462.  
  3463.  
  3464.  
  3465. D  ASN.1 Summary
  3466.  
  3467. To be supplied
  3468.  
  3469.  
  3470. E  Regular Expression Syntax
  3471.  
  3472. *** tbs.  Will be taken from ed(1) man page
  3473.  
  3474. *** Modified to be case insensitive and to handle leading and multiple
  3475. spaces according to X.400 matching rules
  3476.  
  3477.  
  3478. F  X.402 Definitions
  3479.  
  3480. Extract Attribute and Object Class definitions from X.402.
  3481. This appendix will be moved to the ``overview'' document when it is
  3482. added
  3483.  
  3484. *** tbs
  3485.  
  3486.  
  3487.  
  3488.  
  3489.  
  3490.  
  3491.  
  3492. Kille                                 Expires:  January 1994   Page 65
  3493.